git 分支機制

git merge --no-f -m "change" wmsj100

  • git還是建議在自己的分支上面進行代碼開發,然后把完成一部分的代碼推送到git庫的自己的分支上面去,這樣就沒有代碼丟失的風險了,然后等自己的版塊代碼完成之后就把分支代碼合并到master分支上面,master是所有分支中最穩定的。
  • 分支合并的時候使用git merge wmsj100這樣的話,wmsj100分支上面的提交就全部被清除了,只剩下master的提交點了。如果想要把wmsj100分支上面的提交記錄也保留下來的話,就是用這個命令——git merte --no-ff -m ""new branch" wmsj100
    這個的意思就是說不要進行git默認的快速合并機制,而是重新提交并且命名為“new branch”,然后合并的分支是wmsj100;
  • 合并之后可以通過命令——git log --graph --pretty=oneline進行查看
    git合并分支
  • 因為這樣的合并保留了分支的提交記錄,所以可以隨時會退到分支的提交點。

git stash 代碼存儲

  • 當工作只進行到一半的時候,還沒發提交,預計還得一天時間。但是,必須要在倆個小時內修復bug,怎么辦?

  • git stash——可以把當前工作現場“存儲”起來,等以后恢復現場后繼續工作:git stash

  • 只需要輸入git stash即可把當前的工作狀態存儲起來。當完成bug修復并且切換會自己的分支時候git checkout wmsj100,然后輸入命令git stash list可以查看存儲的版本,然后使用git stash apply來恢復,但是恢復后,stash內容并不刪除,而通過命令git stash drop來刪除存儲。

  • 另一種方式是通過輸入命令git stash pop恢復的同時把stash內容也刪除了;

  • git branch -D wmsj100——強行刪除一個分支;

  • 開發一個新feature,最好新建一個分支;

  • 如果要丟棄一個沒有合并過得分支,可以通過git branch -D wmsj100強行刪除。

git push and git pull false

  1. 首先,可以試圖用git push origin wmsj100推送自己的修改;
  2. 如果推送失敗,則因為遠程分支比你本地更新,需要先用git pull試圖合并;
  3. 如果合并有沖突,則解決沖突,并在本地提交;
  4. 沒有沖突或者是解決掉沖突后,再用git push origin wmsj100推送就能成功!

如果git pull提示“no tracking information",則說明本地分支和遠程分支的鏈接沒有創建,用命令git branch --set-upstream branch-name origin/branch-name

小結:

  • 查看遠程庫信息,使用`git remote -v;
  • 本地新建的分支如果不推送到遠程,對其他人就是不可見的;
  • 從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠程的提交;
  • 在本地創建和遠程對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱最后一致;
  • 建立本地和遠程分支的關聯,使用`git branch --set-upstream branch-name origin/branch-name;
  • 從遠處抓取分支,使用git pull,如果有沖突,要先處理沖突。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,721評論 9 163
  • 題目一:簡單輸出 題目二:計算圓的面積
    愛我別走Y閱讀 251評論 0 1
  • 特開簡書,記錄一點微小的思考和評論 多學 多寫 多謝
    肥胖的隱喻閱讀 88評論 0 0
  • 剛考完研,在家一邊放寒假一邊等消息,整天無所事事,吃飯睡覺上廁所看劇是我的日常,回不到之前備研充實的狀態……怎么辦...
    fooooooooour閱讀 190評論 0 0