[英]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.