目錄
- 目錄
- 速查表
- 關聯遠程代碼倉庫
- 克隆遠程倉庫
- 分支管理
- 創建分支
- 切換分支
- 合并分支
- 刪除分支
- 解決沖突
速查表
指令 | 作用 |
---|---|
git branch | 查看分支 |
git branch newBranchName | 創建分支 |
git checkout branchName | 切換分支 |
giit checkout -b newBranchName | 創建+切換分支 |
git merge branchName | 合并分支到當前分支 |
git branch -d branchName | 刪除分支 |
關聯遠程代碼倉庫
登錄一個遠程倉庫首先需要的是身份驗證, 一般會使用 SSH 的方式, 常用的 Github 和 Gerrit 都會需要你提供 SSH 公鑰, 來確定對倉庫進行操作的是否是可信任的本人. 如果你在 Github 上有一個空的遠程代碼倉庫, 那么我們可以從這個遠程倉庫克隆出新的本地倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到 GitHub 遠程倉庫中。
EG: 將本地的 jmilkfanDir 倉庫關聯至遠程的 origin(Github默認) 倉庫, 并把本地庫的所有內容推送到遠程庫上
cd jmilkfanDir
git remote add origin git@github.com:JmilkFan/jmilkfanDir # 添加一個新的遠程倉庫
git push -u origin master # 將當前的 master 分支關聯遠程 origin 并且把內容推送上去;
NOTE: 由于遠程庫是空的,我們第一次推送 jmilkfanDir master 分支時,加上了 -u 參數,Gi t不但會把本地的 master 分支內容推送的遠程新的 master 分支,還會把本地的 master 分支和遠程的 master 分支關聯起來,在以后的推送或者拉取時就可以簡化指令。
克隆遠程倉庫
git clone https://github.com/JmilkFan/my-code-repertory.git
cd my-code-repertory
分支管理
在開發一個功能模塊時, 我們首先會從遠程代碼倉庫克隆 master 分支到本地, 但是強烈的建議不要在 master 上直接進行開發. 這樣會非常容易出現沖突的情況, 所以我們一般會在 master 的基礎上再創建一個新的分支來進行開發工作.
我們創建了一個屬于自己的分支,別人是看不到的,我們在自己的分支上進行開發,想提交就提交,直到開發完畢后,再一次性合并到原來的 master 分支上,這樣,既安全,又不影響別人工作。
創建分支
git branch newBranchName # 創建分支, 但不切換
# Or
git checkout -b jmilkfan-dev # -b: 創建并切換到 jmlkfan-dev 分支
git branch
切換分支
git checkout branchName
# EG:
git checkout master
git branch
合并分支
git branch # 查看當前分支
git merge jmilkfan-dev # 合并指定分支到當前分支
刪除分支
git branch -d jmilkfan-dev
# Or
git branch -D jmilkfan-dev # 強制刪除
解決沖突
- 查看沖突的內容
git diff [filename]
手動合并沖突內容
重新提交合并
git add .
git commit
git merge branchName
- 查看分支合并情況
git log --graph --pretty=oneline --abbrev-commit