一,cherry-pick 流程:
git branch 查看分支
git branch -a 查看所有分支
git checkout branch1 切換到branch1
git cherry -v branch1 branch2 。列出 branch2上有 branch1上沒有的
git cherry-pick commit 將commit取到當前分支上。
二,git rebase 流程:
git rebase branch1;
出現衝突
git add XXX.JAVA
git rebase --continue
三,git merge 流程:
git checkout branch1
git merge --log branch2
四,
git config -l 查看本地分支所屬遠程分支
git log -p branch1..branch2 > xxx.diff
五,
git diff commit2..commit1 > 1.diff
git apply 1.diff
- git fetch(pull, clone) ** 從遠程git 伺服器擷取代碼, 會建立一個local的git庫
- 在 一個乾淨的git庫下, coding... coding....coding....
- git status ** 查看修改狀態, 會列出所有的修改的檔案
- git diff <filename> **查看修改的代碼
- git add filename1 filename2 ........ ** 將修改的代碼儲存在cache裡, 在.git/index
- git commit **提交到本地的git庫裡, 會自動產生一個sha1號
- git push ** 提交代碼到遠程git庫裡
- git reset ** 回退所有修改到某個點, 不刪除本地未提交的修改(讀,寫 cache裡的東西)
- git reset -- myfile.java ** 回退某個檔案
- git reset --hard ** 回退所有cache裡的檔案, 並刪除本地未提交的修改
- git checkout <filename> ** 將修改的代碼回退到未修改之前
- git log **列出所有的commit記錄,
- git log v2.0..v1.0 **列出所有在v1.0 但不在v2.0裡的所有commits
- gitk **比較好用的一款git圖形介面
- git cherry-pick sha1 ** 將sha1的那次提交拿到本地分支來 (多次的cherry-pick 可能會產生衝突, 可根據提示解決衝突後, 繼續cherry-pick)
- git rebase branch_name ** 和cherry-pick 類似, 只是將branch_name的分支一次性拿到本地分支