項(xiàng)目代碼管理,之前都是使用的SVN谁鳍,git知道怎么回事,但是原理不熟悉劫瞳,命令更不熟悉倘潜。這兩天看了一個(gè)博客廖雪峰的官方網(wǎng)站,把一些常用的命令熟悉了一下,大致常用的記錄在此志于。
git init 初始化git倉(cāng)庫(kù)
git add <file> 添加文件到倉(cāng)庫(kù) 可以一次添加多個(gè)
git commit -m “注釋涮因,改動(dòng)說(shuō)明” 每次修改文件后,用git add 和 git commit來(lái)提交
git diff 查看修改 修改完文件后同樣適用git add <file> 和git commit來(lái)提交修改
git log 查看版本記錄
git reflog 查看命令記錄 可以在回退之后后悔時(shí)返回最新版本
git checkout - - file 丟棄工作區(qū)的修改
git reset HEAD file 丟棄已經(jīng)保存在暫存區(qū)的修改
git rm — <file> 把文件從目錄中直接刪除后伺绽,git版本庫(kù)中還存在养泡,使用這個(gè)命令從版本庫(kù)中刪除
git checkout — <file> 不小心刪錯(cuò)了 可以這樣用版本庫(kù)版本替換工作區(qū)版本
git remote add origin git@server-name:path/repo-name.git 關(guān)聯(lián)一個(gè)遠(yuǎn)程倉(cāng)庫(kù)
git push -u origin maste 第一次推送master分支的所有內(nèi)容
git push origin master 每次本地提交后嗜湃,如果需要,此命令可以推送最新修改
git clone 從遠(yuǎn)端克隆一個(gè)倉(cāng)庫(kù)到本地
git branch 查看分支
git branch <name> 創(chuàng)建分支
git checkout <name> 切換分支
git checkout -b <name> 創(chuàng)建并切換分支
git branch -d <name> 刪除分支
git merge <name> 合并分支 最好切換好主分支然后選擇要合并的分支
git在合并分支時(shí)默認(rèn)是使用Fast forward模式瓤荔,合并后會(huì)丟失分支信息净蚤,實(shí)際中使用下面的命令
git merge —no—ff -m “xxxxxxxx” dev 普通合并模式,在合并的時(shí)候生成一個(gè)新的commit输硝,這樣就不會(huì)丟失分支歷史信息
git stash, git stash list, git stash pop 臨時(shí)性保存一些未完成的內(nèi)容,通過(guò)list查看程梦,通過(guò)pop恢復(fù)并刪除stash內(nèi)容
git branch -D <name> 強(qiáng)行刪除一個(gè)沒(méi)有合并的分支 大寫(xiě)D
git pull 從遠(yuǎn)程抓取最新的提交 本地合并解決沖突后 再進(jìn)行推送
git push origin <branch> 推送更新到遠(yuǎn)程倉(cāng)庫(kù)的分支
git tag <tagName> 標(biāo)簽点把,給分支打標(biāo)簽 git tag 查看所有標(biāo)簽 git tag -d <tagName> 刪除標(biāo)簽
多人寫(xiě)作的工作模式:
1 首先,可以試圖用git push origin branch-name推送自己的修改屿附;
2 如果推送失敗郎逃,則因?yàn)檫h(yuǎn)程分支比你的本地更新,需要先用git pull試圖合并挺份;
3 如果合并有沖突褒翰,則解決沖突,并在本地提交匀泊;
4 沒(méi)有沖突或者解決掉沖突后优训,再用git push origin branch-name推送就能成功!如果git pull提示“no tracking information”各聘,則說(shuō)明本地分支和遠(yuǎn)程分支的鏈接關(guān)系沒(méi)有創(chuàng)建揣非,用命令git branch --set-upstream branch-name origin/branch-name。