常用命令
- 創(chuàng)建版本庫
$ git init
- 添加文件到版本庫
$ git add demo.txt
- 提交記錄
$ git commit -m "One meaning message"
- 查看版本庫狀態(tài)
$ git status
- 查看具體修改了什么內(nèi)容
$ git diff demo.txt
- 查看提交歷史紀(jì)錄
$ git log
- 查看提交歷史紀(jì)錄簡要信息
$ git log --pretty=oneline --abbrev-commit
- 回退到上一個版本
$ git reset --hard HEAD^
- 回退到commit id為3438386...的版本
$ git rest --hard 343838
- 查看命令歷史
$ git reflog
- 撤銷工作區(qū)(Working Directory)修改(checkout)
$ git checkout -- demo.txt
- 撤銷暫存區(qū)(stage)的修改--unstage
$ git reset HEAD demo.txt
- 從版本庫(repository)刪除文件
$ git rm demo.txt
$ git commit -m "remove demo.txt"
- 從版本庫恢復(fù)誤刪文件
$ git checkout -- demo.txt
- 添加遠程庫
$ git remote add origin git@github.com:st0x8/demo.git
- 把本地庫的所有內(nèi)容推送到遠程庫,第一次推送
$ git push -u origin master
- 第二次及之后的推送
$ git push origin master
- 從遠程庫git@github.com:st0x8/demo.git克隆
$ git clong git@github.com:st0x8/demo.git
- 創(chuàng)建dev分支
$ git branch dev
- 切換分支
$ git checkout dev
- 創(chuàng)建并切換分支
$ git checkout -b dev
- 合并分支
$ git merge dev
- 查看分支合并情況
$ git log --graph --pretty=oneline --abbrev-commit
- 查看分支合并圖
$ git log --graph
- 刪除分支
$ git branch -d dev
- 合并分支是禁用Fast forward模式
$ git merge --no-ff -m "merge with no-ff" dev
- 儲藏工作現(xiàn)場
$ git stash
- 查看工作現(xiàn)場
$ git stash list
- 恢復(fù)工作現(xiàn)場
$ git stash apply
- 刪除工作現(xiàn)場紀(jì)錄
$ git stash drop
- 恢復(fù)工作現(xiàn)場并刪除現(xiàn)場紀(jì)錄
$ git stash pop
- 恢復(fù)指定的工作現(xiàn)場
$ git stash apply stash@{0}
- 強制刪除未合并的分支
$ git branch -D demo-branch
- 查看遠程庫信息
$ git remote
- 查看遠程庫詳細信息
$ git remote -v
- 推送其他分支如dev分支
$ git push origin dev
- 抓取遠程分支dev(clone遠程倉庫默認(rèn)只抓取master分支)
$ git checkout -b dev origin/dev
- 抓取遠程倉庫最新的提交
$ git pull
- 建立本地dev分支與遠程origin/dev分支的關(guān)聯(lián)
$ git branch --set-upstream dev origin/dev
- 創(chuàng)建標(biāo)簽
$ git tag v1.0
- 查看標(biāo)簽
$ git tag
- 對commit id為4336783的提交打標(biāo)簽
$ git tag v1.0 4336783
- 查看標(biāo)簽v1.0的信息
$ git show v1.0
- 創(chuàng)建帶有說明的標(biāo)簽
$ git tag -a v0.1 -m "version 0.1 released" 3628164
- 刪除標(biāo)簽
$ git tag -d v0.1
- 推送標(biāo)簽到遠程倉庫
$ git push origin v1.0
- 推送除已推送過的全部標(biāo)簽到遠程倉庫
$ git push origin --tags
- 刪除遠程標(biāo)簽
git tag -d v0.9 //先刪除本地的標(biāo)簽
git push origin :refs/tags/v0.9
以上命令從Git教程摘錄。
工具
公鑰管理:Gitosis
權(quán)限控制:Gitolite
參考
如果你想在Xcode使用git,可以參考下面兩篇文章。