为什么在git签出时它会自动在我的新分支中添加更改的文件
我必须从项目的一个分支到另一个分支结账。当我这样做时,它也会将所有添加的文件添加到已更改的分支中。我不想从这个分支提交那些文件。我应该做什么,我应该如何避免这件事在未来为什么在git签出时它会自动在我的新分支中添加更改的文件,git,git-checkout,Git,Git Checkout,我必须从项目的一个分支到另一个分支结账。当我这样做时,它也会将所有添加的文件添加到已更改的分支中。我不想从这个分支提交那些文件。我应该做什么,我应该如何避免这件事在未来 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/
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\u more\u notification\u channels
顶端的提交。(我不得不猜测一个分支机构的名称,但这在这里并不重要。)
在某些情况下,Git会说:对不起,我不能这样做:如果我这样做了,我会用添加的\u更多\u通知\u频道
顶端提交的副本替换更新的文件,从而销毁这些文件
在其他情况下,Git会说:好吧,我做到了。。。但是重要提示:我没有销毁你更新的文件,我把它们单独留下了。它们现在不匹配添加的\u更多\u通知\u频道
顶端的提交,就像它们以前不匹配主频道
顶端的提交一样。如果您打算将它们添加并提交到master
,那么现在您可以再次git checkout master
,回到原来的位置。如果不是这样,那么您现在的状态很好,修改后的文件仍然被修改
如果你想知道为什么有时候Git会说:好吧,我换了分支!(我带着你修改过的文件去兜风!)有时会说哎哟,对不起,我做不到!那会破坏你修改过的文件!,看
(事实上,看起来你问过Git:请从添加的\u更多通知\u频道
切换到添加的\u更多通知\u频道
,这根本不是切换,因此始终有效!)