" GIT中"没有像Desired一样工作

时间:2018-04-01 14:47:25

标签: git

假设我这样回购:

~/Desktop/git_repo
$ ls                                                                          
cover.jpg  cover_small.jpg  README.md

~/Desktop/git_repo on  master
$ git status                                                                     
On branch master
nothing to commit, working directory clean

现在我将添加一个新的分支,并将当前分支切换为 new_branch

~/Desktop/git_repo on  master
$ git branch new_branch                                                          

~/Desktop/git_repo on  master
$ git checkout new_branch                                                        
Switched to branch 'new_branch'

~/Desktop/git_repo on  new_branch
$ git status                                                                     
On branch new_branch

让我们在 new_branch 上看到我们的文件:

~/Desktop/git_repo on  new_branch
$ ls                                                                             
cover.jpg  cover_small.jpg  README.md

很好,这是预料之中的。现在,让我们删除 new_branch 上的 cover.jpg ,但不要 提交它:

~/Desktop/git_repo on  new_branch
$ git rm cover.jpg                                                               
rm 'cover.jpg'

~/Desktop/git_repo on  new_branch!
$ ls                                                                             
cover_small.jpg  README.md

~/Desktop/git_repo on  new_branch!
$ git status                                                                     
On branch new_branch
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    cover.jpg

好的,这是预期的。现在,让我们切换到我们的分支和列表文件。我希望 cover.jpg 包含在内:

~/Desktop/git_repo on  new_branch!
$ git checkout master                                                            
D   cover.jpg
Switched to branch 'master'

~/Desktop/git_repo on  master!
$ ls                                                                             
cover_small.jpg  README.md

~/Desktop/git_repo on  master!
$ git status                                                                     
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    deleted:    cover.jpg

什么?为什么我的分支来自 new_branch ?我的错是什么?这是我的问题。

谢谢..

1 个答案:

答案 0 :(得分:3)

你误解了。

您只是暂停了该文件的删除,并且由于该文件同时存在于masternew_branch中,因此Git认为可以将更改保留在其阶段。

要将更改永久更改为new_branch,您需要再次检查并提交更改。

一旦你这样做,那么你们两个分支之间的提交就会有所不同。