zil*_*anu 2 git git-stash git-commands
我正在我的主分支上工作,并在主分支内部进行一些未提交的更改.我已经创建了一个功能分支,我可以使用该git checkout feature_branch命令切换到我的功能分支.我有几个疑问,我在下面列出:
如果我在主分支中提交我的更改并切换到我的功能分支,我看不到特定于master的已提交更改.我也期待未提交更改的相同行为.
这不是一个明智的行为.根据定义,未提交的更改不会对分支进行.分支是提交的指针,并且没有与未提交的更改相关联的提交.它们是在你的工作目录中创建的,并没有将它们绑定到任何分支.它们甚至与Git无关.在你提交(或存储)它们之前,Git绝对不会跟踪它们,它永远不会尝试为你管理它们.
我在Git中遇到了stash命令,并且在那里提到如果你在master分支中有任何未提交的更改,并且想要切换到其他分支,git将不允许你,因此你需要将更改存储在主分支......
那是错的.任何分支内都不存在藏匿处.有一个全球性的藏匿处.
......我没有面对这个问题.
只有在这样做会导致您的未提交更改被覆盖时,才会阻止您切换分支.
我在这里遗漏了什么,如果是这样,使用stash命令有什么意义?
如果更改影响了通过切换分支而改变的任何文件,您只需要担心存储更改.如果您对两个分支之间相同的文件进行了修改,则从一个分支切换到另一个分支将不需要存储.如果你的另一个分支上的文件不同,Git将不允许你切换分支,因为这会破坏你未经注册的更改.
尝试切换分支是安全的,如果Git警告您"未提交的更改将被覆盖"并拒绝切换分支,您可以存储更改并重试.