[英]why on git checkout it automatically adds changed files in my new branch
我必须从项目的一个分支签到另一个分支。 当我这样做时,它还将所有添加的文件也添加到更改的分支中。 我不想从该分支提交那些文件。 我应该怎么做以及将来如何避免这种情况
A ui/.gitignore
A ui/README.md
A ui/babel.config.js
A ui/package-lock.json
A ui/package.json
A ui/public/favicon.ico
A ui/public/index.html
A ui/src/App.vue
A ui/src/assets/logo.png
A ui/src/components/HelloWorld.vue
A ui/src/main.js
Already on 'added_more_notification_channels'
没有。
相反,Git所做的更简单:
然后您问Git: 请从master
端的提交切换到added_more_notification_channels
端的added_more_notification_channels
。 (我不得不猜测一个分支的名称,但是在这里并没有多大关系。)
在某些情况下,Git会说: 对不起,我不能这样做:如果这样做,我将通过用added_more_notification_channels
尖端的提交副本替换更新的文件来销毁您的更新文件。
在其他情况下,Git会说: 好的,我做到了……但是重要的提示:我没有销毁您的更新文件,我把它们留了下来。 现在,它们与added_more_notification_channels
尖端的提交不匹配,就像它们之前与master
尖端的提交不匹配一样。 如果您打算将它们添加并提交给master
,那么现在可以再次git checkout master
来回到原来的位置。 如果没有,那么您的位置就很好,而修改后的文件仍会被修改。
如果您想知道为什么 Git有时会说: 好的,我已经切换了分支! (我随身带走了您修改过的文件!) ,有时会说, 哎呀,对不起,我不能这样做! 那会破坏您的修改文件! , 当当前分支上有未提交的更改时 ,请参阅签出另一个分支 。
(实际上,您似乎向Git询问: 请从added_more_notification_channels
切换到added_more_notification_channels
,这根本没有任何切换,因此始终有效!)
如果add/modify/delete
某些文件,则可以在另一个分支获取这些文件。 因此,如果要首先签出另一个分支,则必须提交更改的文件。 然后,您可以签出另一个分支。 而且,如果您不提交,则将那些文件发送到checkout分支。 因此,您应该按照以下步骤操作-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.