基本操作
- git init
- git add .
- git stauts
- git commit -m '描述'
- git log
- git log --pretty=oneline
回退版本
git reset --hard HEAD^
git reset --hard commit_id
git log查看提交歷史
git reflog 查看歷史命令
撤銷(xiāo)修改
- git checkout -- <filename>
刪除文件
手動(dòng)刪除本地,rm <filename>
再刪除版本庫(kù),git rm ,git commit
遠(yuǎn)程倉(cāng)庫(kù)
- 遠(yuǎn)程庫(kù)名稱(chēng)origin
- git remote add origin <site> 關(guān)聯(lián)遠(yuǎn)程庫(kù)
- git push -u origin master 把本地庫(kù)所有內(nèi)容推送到遠(yuǎn)程庫(kù)中
- git remote -v 查看遠(yuǎn)程庫(kù)信息
- git remote rm origin 解除本地和遠(yuǎn)程的綁定關(guān)系,非物理刪除
- git clone <site> 從遠(yuǎn)程庫(kù)克隆一個(gè)本地庫(kù)
分支管理
- git branch 查看分支
- git branch dev 創(chuàng)建分支dev
- git checkout -b dev ; 創(chuàng)建+切換dev分支
- git checkout dev ; 切換到分支dev
- git merge dev 把dev分支的工作成果合并到當(dāng)前分支
- git branch -d dev 刪除dev分支
- 分支策略:
- master用于穩(wěn)定版,發(fā)布新版本;
- dev用于干活
- 每個(gè)人都有自己的分支,往dev分支上合并
- 修復(fù)bug時(shí),創(chuàng)建新的bug分支進(jìn)行修復(fù),再合并,刪除
- 手頭工作未完成時(shí),現(xiàn)場(chǎng)工作git stash 保存
- git stash 保存工作現(xiàn)場(chǎng)
- git stash pop 回到工作現(xiàn)場(chǎng)
- git cherry-pick <commit-id> 把bug提交的修改復(fù)制到當(dāng)前分支
多人協(xié)作
- 查看遠(yuǎn)程庫(kù)信息,使用
git remote -v; - 本地新建的分支如果不推送到遠(yuǎn)程,對(duì)其他人就是不可見(jiàn)的;
- 從本地推送分支,使用
git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交; - 在本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支,使用
git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱(chēng)最好一致; - 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用
git branch --set-upstream branch-name origin/branch-name; - 從遠(yuǎn)程抓取分支,使用
git pull,如果有沖突,要先處理沖突。 - 推送策略
- master 主分支,要時(shí)刻與遠(yuǎn)程保持同步
- dev是開(kāi)發(fā)分支,團(tuán)隊(duì)成員都要在上面工作,也要時(shí)刻保持同步
- bug、feature分支可不推送
標(biāo)簽管理
- git tag <tagname> <commit-id> 新建tag
- git tag -a <tagname> -m "......"可以指定標(biāo)簽信息;
- git show <tagname>查看標(biāo)簽信息