查看遠程分支
切換到項目所在的目錄下執行命令:
git branch -a
可以看到:
- master
remotes/origin/HEAD -> origin/master
remotes/origin/apple-release
remotes/origin/babana-release
remotes/origin/master
查看本地分支
git branch
可以看到:
- master
創建並切換分支
git checkout -b branch_name
切換分支
1.git checkout -b babana-release/babana-release
作用是checkout遠程的babana-release分支,在本地起名爲babana-release分支,並切換到本地的babana-release分支
2.git checkout -b origin/cherry-release
作用和上一個相同
可以看到
Switched to a new branch ‘babana-release/babana-release’
Switched to a new branch ‘cherry-release’
再執行查看本地分支:
git branch
- babana-release/babana-release
master
提交代碼
git branch
git add .
git commit -m “”
git push origin babana-release
分支切換及創建
Git branch branchName(在本地創建一個命名爲branchName的分支)
git branch 查看當前自己所在的分支
git branch -a 查看服務器的所有分支以及自己當前所在的分支
git push origin branchName(把命名爲branchName的本地分支推送到服務器)
git checkout --track origin/branchName (切換爲遠程服務器上的命名爲branchName的遠程分支)
如果你的搭檔要把他本地的分支給關聯到服務器上命名爲branchName的遠程分支,請執行以下操作:
git branch --set-upstream localBranchName origin/branchName (爲本地分支添加一個對應的遠程分支 與之相對應)
->這行命令用來關聯本地的分支與服務器上的分支
完成以上操作之後,就可以進行提交代碼了,但是在提交代碼之前,你要確定你當前所在的分支
git push origin branchName(提交代碼到遠程服務器上命名爲branchName的分支上)
git pull origin branchName (從遠程分支上拉取代碼)
合併代碼
1分別去要合併的分支 執行git pull --rebase
2切換到分支 執行 git rebase master
3 解決衝突
4 git add .
5 git rebase --continue
6 git push -f
7 去master 執行 git rebase 分支
回退到某個版本
git reset --hard aed2c0038aaa3b7eb66a0e057b9b521ae49472a3
合併分支
M B (B分支合到M分支)
1.checkout M B 兩分支 都pull --rebase (拉到最新)
2.chekout 到B 分支 , git rebase M
3.出現衝突 解決衝突 , 然後 git add .
4.然後 git rebase --continue 臨時衝突分支消失
4 然後 git push -f 強推到遠程分支庫
5.然後checkout 到 M 分支
6.然後 git rebase B (將B分支合併到M分支)
7.然後提交代碼 git push
git 合併成一個提交
1.get reset 要提交到的版本號
2.git add .
3.git commit -m 提交信息
4.git push -f
5.拉代碼 git reset --hard 要提交到的版本號
6.git pull --rebase
將某一次提交合並過來
git cherry-pick 2a9c8d310f3b
刪除遠程分支:
git push -d origin lzl-fig-release-majia
git 標籤的使用
用來給歷史中的某一次提交打上一個標籤,常用來標記版本發佈節點
列出標籤: git tag 這個命令以字母順序列出標籤
也可以用特定的模式查找標籤:git tag -l ‘v1.8.5*’
創建標籤:git tag v5.5.2
給某次提交打標籤:git tag -a v5.5.2 9fadc34s3
提交標籤:git push origin v5.5.2 或者 git push origin --tags
刪除本地倉庫標籤:git tag -d tagName
刪除遠程倉庫標籤:git push origin :refs/tags/tagName
查看提交歷史:
git log
git log --pretty=oneline
其他
1.checkout單獨的文件
git checkout your_file_path
2.查看文件的不同
git diff your_file_path
3.回退版本
git reset --hard f1ed292f2
4.取消代碼合併
git rebase --abort
5.解決問題之後重新合併
git rebase --continue
6.git 取消追蹤某個文件
git update-index --assume-unchanged your_file_path
恢復對某個文件的追蹤
git update-index --no-assume-unchanged your_file_path