Git學習筆記

2021-10-24 15:21:50 字數 2141 閱讀 9151

通常有兩種獲取 git 專案倉庫的方式:

將尚未進行版本控制的本地目錄轉換為 git 倉庫;

從其它伺服器轉殖 乙個已存在的 git 倉庫。

兩種方式都會在你的本地機器上得到乙個工作就緒的 git 倉庫。

新增乙個檔案,把檔案新增到暫存區,使用命令git add ...,然後提交當前工作空間修改的內容,使用命令git commit -m "message"git comiit -se

git commit -m "message"提交資訊與命令放在同一行,可以直接輸入提交資訊

git comiit -se會啟動你選擇的文字編輯器來輸入提交說明

git push origin :develop

如果省略本地分支名,則表示刪除指定的遠端分支,因為這等同於推送乙個空的本地分支到遠端分支,等同於 git push origin --delete master

對於多分支的**庫,將**從乙個分支轉移到另乙個分支是常見需求。

第一種情況:a分支的所有**改動合併到b分支,使用git merge

刪除已合併到master的iss25分支

第二種情況:只需要部分**變動(某幾個提交),這時可以採用 cherry pick。

$ git cherry-pick
例如:hotfix分支修改了bug和一些定製化功能,但是修改的bug需要提交到master分支上。

檢視hotfix分支提交歷史,找到修改bug的提交記錄

切換到master分支,將hotfix分支修改bug的提交記錄合併到master分支上

場景:不同分支之間的合併

分支develop開發了一些功能,並且儲存提交

現在新功能開發完畢,需要將它合併到hotfix中。

首先切換到hotfix分支,然後使用merge直接合併develop分支

竟然失敗了,原因很簡單,兩個分支修改個同乙個檔案產生了衝突,需要手動合併衝突,再提交:

開啟檔案修改完成後,通過add新增,然後commit提交

重新合併,合併成功,然後檢視一下分支提交歷史:

雖然合併成功了,但是合併歷史分叉了,可以通過rebase合併分支:

在hotfix分支上執行:git rebase develop

這是以develop為基礎,將feature分支上的修改增加到develop分支上,並生成新的版本。

失敗了,通過git status檢視衝突檔案,有乙個檔案沒有提交,將該檔案重新提交

之前的rebase其實只是完成了一半,由於出現衝突而終止,現在衝突解決,可以通過git rebase —continue繼續完成之前的rebase操作。

rebase完成,再檢視一下提交歷史:

提交記錄已經是一條完美的直線。

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...