修补分支提交注意事项
實驗一描述:
從master創建dev分支,然后在dev分支上進行修改,比如說添加了一個hello_world.md文件。
然后切換到master分支,此時查看git add? status,可以看到dev分支上的修改在master上反應出來了,而些從master上創建bug分支,然后bug分支添加新的文件,比如說添加了一個bug.md
然后add commit push三步曲,bug分支上不僅添加了bug分支上修改的內容也添加了dev分支上修改的內容,但我本意只想添加bug分支上的內容。如果這個時候進行merge到master上,一定會把dev分支上的內容添加進去,不是計劃之內的內容,會造成巨大負面影響。
實驗二描述:
從master創建dev分支,然后在dev分支上進行修改,比如說添加了dev0021542.md,然后三步曲提交到遠程。
切換到master分支,使用git add? status命令,可以看到并無更新。
那么如何才能使未提交的分支不影響到master分支呢,繼而不影響到bug分支,最終不影響到master的穩定性。
方案一:創建新的分支之前,將所有分支全部提交。可以使用命令查看,如果沒有提交,任何分支都能看到修改的內容。
方案二:凍結已經修改的內容,先把工作現場git stash一下,然后去修復bug,修復后,再git stash pop,回到工作現場;
?
?實驗三:
從master分支創建dev分支 ,然后添加內容,使用git stash命令,此時可以看到git add status沒有新的內容,無論是master還是dev下。所以此時新建內容并不會將dev修改合并進來。當所有的bug修改完成后,然后切換到dev分支,使用git stash pop命令,即可恢復原樣。
?
實驗四:
?
從master創建dev分支,然后在dev分支上進行修改,比如說添加了一個hello_world.md文件。
然后切換到master分支,此時查看git add? status,可以看到dev分支上的修改在master上反應出來了,而些從master上創建bug分支,然后bug分支添加新的文件,比如說添加了一個bug.md,而此時發現已經錯了,所以切換到master分支刪除bug分支,然后再切換到dev分支,查看bug分支修改的內容仍然在,那么這個 時候在dev提交會怎么樣尼,于是提交了,結果是兩個分支的修改均提交到遠程。然后切換到master分支,可以看到對master分支無影響。
?
結論:
一、其他分支修改沒有提交,是會同時影響到所有分支,因為所有分支均能看到新增內容。直接基于master創建,就會將原來不想提交提交了,造成了意想不到的錯誤。
二、從master創建分支之前,必須使用git add . status命令查看是否為干凈的目錄,就可以避免風險。
三、推斷:不同的分支均有修改,但沒有commit,如果一個分支進行提交就會將所有分支的修改都會同步到一個分支中,但其他 分支的修改內容還在不在,不確定,待實驗。
?
?
?
?
?
總結
以上是生活随笔為你收集整理的修补分支提交注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unicode和UTF-8的区别
- 下一篇: git撤销某文件被添加到暂存区的修改,且