it init //初始化本地git環(huán)境
git clone XXX//克隆一份代碼到本地倉庫
git pull //把遠程庫的代碼更新到工作臺
git pull --rebase origin master //強制把遠程庫的代碼跟新到當前分支上面
git fetch //把遠程庫的代碼更新到本地庫
git add . //把本地的修改加到stage中
git commit -m 'comments here' //把stage中的修改提交到本地庫
git push //把本地庫的修改提交到遠程庫中
git branch -r/-a //查看遠程分支/全部分支
git checkout master/branch //切換到某個分支
git checkout -b test //新建test分支
git checkout -d test //刪除test分支
git merge master //假設當前在test分支上面弱卡,把master分支上的修改同步到test分支上
git merge tool //調(diào)用merge工具
git stash //把未完成的修改緩存到棧容器中
git stash list //查看所有的緩存
git stash pop //恢復本地分支到緩存狀態(tài)
git blame someFile //查看某個文件的每一行的修改記錄()誰在什么時候修改的)
git status //查看當前分支有哪些修改
git log //查看當前分支上面的日志信息
git diff //查看當前沒有add的內(nèi)容
git diff --cache //查看已經(jīng)add但是沒有commit的內(nèi)容
git diff HEAD //上面兩個內(nèi)容的合并
git reset --hard HEAD //撤銷本地修改
echo $HOME //查看git config的HOME路徑
export $HOME=/c/gitconfig //配置git config的HOME路徑
附帶 git 變更查詢
1. git log filename
可以看到fileName相關的commit記錄
2. git log -p filename
可以顯示每次提交的diff
- 只看某次提交中的某個文件變化趣效,可以直接加上fileName
git show commit-id filename
4.根據(jù)commit-id查看某個提交
git show -s --pretty=raw id(59047cce6eeb2d8fd9fa361e01dbb88d9a37cf4e)
5.借助可視化工具 如 sourceTree 在最后一次修改的記錄上 右鍵選中文件 查看歷史修改
6.git log 的常用選項
注:filename (絕對路徑) 或 (先進入此文件所在的目錄下钳榨,當前文件名)
團隊協(xié)作git流程舉例:
克隆一個全新的項目媳否,完成新功能并且提交:
git clone XXX //克隆代碼庫
git checkout -b test //新建分支
modify some files //完成修改
git add . //把修改加入stage中
git commit -m '' //提交修改到test分支
review代碼
git checkout master //切換到master分支
git pull //更新代碼
git checkout test //切換到test分支
git meger master //把master分支的代碼merge到test分支
git push origin 分支名 //把test分支的代碼push到遠程庫
目前正在test分支上面開發(fā)某個功能碍现,但是沒有完成具滴。突然一個緊急的bug需要處理(進僅供參考),大概的命令流程
git add .
git stash
git checkout bugFixBranch
git pull --rebase origin master
fix the bug
git add .
git commit -m ''
git push
git checkout test
git stash pop
continue new feature's development
git工作流示意圖