一.命令
查看幫助
git help
查看本地分支
git branch
查看遠(yuǎn)程和本地分支
git branch -a
創(chuàng)建一個(gè)名為test的分支
git branch test
修改test分支的名字為test1
git branch -m test1
切換到test1分支
git checkout test1
使當(dāng)前分枝與遠(yuǎn)程分支關(guān)聯(lián)
git branch --set-upstream-to origin/master
創(chuàng)建并切換到該分支
git checkout -b test
創(chuàng)建并且切換到該分支并且與遠(yuǎn)程分支關(guān)聯(lián)
Git在Merge時(shí)提示(no branch)數(shù)據(jù)找回
git reflog // 查看操作記錄
垃圾收集命令(pruning garbage collection)
git gc
git merge origin/master
把本地代碼和已取得的遠(yuǎn)程倉(cāng)庫(kù)最新代碼合并
git rm --cached xqshijie.xcworkspace/xcuserdata/admin.xcuserdatad/UserInterfaceState.xcuserstate
二.操作
0.下載遠(yuǎn)程代碼
git clone ssh://xxx@103.10.86.30:29418/projectName_ios && scp -p -P 29418 xxx@103.10.86.30:hooks/commit-msg projectName_ios/.git/hooks/
1.提交代碼:
git branch // 查看是否在當(dāng)前分支
git status // 查看當(dāng)前分支狀態(tài)
git pull --rebase // 將服務(wù)器最新代碼更新至本地
運(yùn)行項(xiàng)目,如果有沖突,解決沖突,然后:
git add . // 添加至?xí)捍鎱^(qū)
git rebase --continue
如果沒有沖突,直接執(zhí)行下面的命令
git push origin master // 將文件推到服務(wù)器master分支上
放棄后
回滾已經(jīng)commit的內(nèi)容
git log查看需要回滾到那個(gè)版本,復(fù)制commit id
git reset --hard [commit id]
例如:git reset --hard 8cd5a7cbfb86954a09a739e7d57939a9c8229b4a
追加
git status
git add .
git commit --amend // 追加
切換分支: master —>dev
1.查看:
git branch -a
- master
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master
2.切換到 dev 分支
git checkout -b dev -t origin/dev
Branch dev set up to track remote branch dev from origin.
Switched to a new branch 'dev'
3.查看是否切換成功
git branch
- dev
master
二.問題
Unable to negotiate with XXXX port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
原因:這是由于升級(jí)到ubuntu-16.04(Ubuntu(烏班圖)是一個(gè)以桌面應(yīng)用為主的Linux操作系統(tǒng))后出現(xiàn)的
解決:修改~/.ssh/config(需要手動(dòng)創(chuàng)建config文檔),加入
<pre><code>
Host *
KexAlgorithms +diffie-hellman-group1-sha1
</code></pre>