我在我的机器上试验Git。我克隆了一些存储库并添加了一个新的分支my_branch
。
在这个分支中,我在一个源文件中编辑了一行。我没有add
更改,显然没有commit
。
然后我再次切换到master
,并查看磁盘上的文件。这种变化也出现在那里。
两个问题:
1-这应该发生吗?
2-这是否意味着作为一般规则,我应该始终add
我在分支中做的任何更改,然后切换到不同的分支来做一些不同的工作(即使我不想提交我的改变了吗?
答案 0 :(得分:2)
回答1: 是。就像@bmargulies说的那样,除非你对它做些什么,否则当你切换分支时,git会保留更改
回答2: 是和否。如果您希望它们在您正在处理的分支上,则应该添加并提交它。如果没有,建议的方法是隐藏更改,直到您回到正在处理的分支,然后应用或 pop 藏匿。
答案 1 :(得分:1)
您的更改位于 no 分支上。如果您修改了一个文件,并且没有“添加”,更不用说“git commit”,您的更改只会坐在那里,除非您做一些事情来摆脱它,例如git reset --hard HEAD
或git checkout PATH
。如果你去了克隆你的回购,你会发现你的改变不在其中。如果您使用git log
,则不会看到任何迹象。