Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在git签出时它会自动在我的新分支中添加更改的文件_Git_Git Checkout - Fatal编程技术网

为什么在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所做的更简单:

      • 您已经修改了这些文件
      • 你没有提交这些文件
      • 因此,这些更改只存在于工作树中
      然后你问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频道
      ,这根本不是切换,因此始终有效!)