目錄
1. 建立本地專案並上傳GitHub
見筆者另一篇文章詳細介紹:juejin.im/post/5c6b72…
2. Git合併(merge)指定檔案或資料夾
需求: 將dev分支的部分檔案合併(merge)到master分支並推到遠端
原理: 先把master分支程式碼拷貝一份,成為一個新的臨時分支master-temp,然後把dev分支上需要合併過來的那部分檔案或資料夾替換到臨時分支master-temp上,然後把臨時分支master-temp合併到master分支,這時dev分支上要合併的部分檔案或資料夾已經成功的合併到master分支上了,最後再刪掉這個臨時分支master-temp,就OK了。
操作:
切換到master分支,並保持master分支最新
git checkout master
git pull
複製程式碼
基於master分支建立一個臨時分支master-temp,並切換到該分支上
git checkout -b master-temp
複製程式碼
用dev分支指定檔案或資料夾替換master-temp分支上相應的檔案
語法:
git checkout dev [目標資料夾或目標檔案]
舉例:
git checkout dev src/test/controller/
說明:執行完此命令,dev分支下的src/test/controller/資料夾就會替換master-temp分支下相應的資料夾
複製程式碼
將本次checkout內容提交到master-temp分支上
git commit -m "提交資訊到臨時分支master-temp上"
複製程式碼
切換到master分支
git checkout master
複製程式碼
比較臨時的master-temp分支與master分支的差異,是否就是想要合併的差異
git diff master-temp master
複製程式碼
合併master-temp分支到master分支
git merge master-temp
複製程式碼
將本地master分支推到遠端master分支,並刪除臨時master-temp分支(本地的)
git push origin master
## 檢視所有分支
git branch -a
## 刪除本地臨時分支master-temp
git branch -d master-temp
複製程式碼
3. Git 比較差異
說明:既支援對整個區域差異比較,也支援針對單個資料夾或檔案的差異比較。
## 比較工作區和暫存區的差異
git diff
## 針對某個資料夾或檔案,比較工作區和暫存區的差異
git diff [資料夾或檔案]
例如:git diff controller/
## 比較工作區和當前分支最新commit之間的差異
git diff HEAD
## 針對某個資料夾或檔案,比較工作區和當前分支最新commit之間的差異
git diff HEAD [資料夾或檔案]
例如:
git diff HEAD controller/ControllerTest.java
## 比較暫存區和上一個commit之間的差異
git diff --cached
## 針對某個資料夾或檔案,比較暫存區和上一個commit之間的差異
git diff --cached [資料夾或檔案]
## 比較各個分支之間的差異
git diff [first-branch] [second-branch]...[last-branch]
## 針對某個資料夾或檔案,比較各個分支之間的差異
git diff [first-branch] [second-branch]...[last-branch] [資料夾或檔案]
複製程式碼
4. Git 撤銷操作
後續更新中...
5. Git 刪除分支
## 刪除本地分支
git branch -D [branch-name]
舉例:
git branch -D dev-test-v190218-rangdandanfei
## 刪除遠端分支
<1> git push origin --delete [branch-name]
舉例:
git push origin --delete dev-test-v190218-rangdandanfei
<2> git branch -dr [remote/branch]
舉例:
git branch -dr origin/dev-git-use-v190219-rangdandanfei
(使用git branch -a命令看一下有沒有刪除掉)
複製程式碼
擴充套件
1. Git學習網站資料收集:
廖雪峰Git教程:www.liaoxuefeng.com/wiki/001373…
git - 簡易指南:www.bootcss.com/p/git-guide…