標(biāo)簽索引:本地倉(cāng)庫(kù)操作管理 本地分支操作 遠(yuǎn)程庫(kù)操作 標(biāo)簽操作 別名命名規(guī)則
本地倉(cāng)庫(kù)操作管理
版本號(hào) 回復(fù)到某個(gè)版本
git reset --hard 版本號(hào)
回復(fù)到上一個(gè)版本
git reset --hard HEAD^
從版本庫(kù)恢復(fù)文件 丟棄工作區(qū)的修改
git checkout -- 文件名
撤銷暫存區(qū)內(nèi)容到工作區(qū)
git reset HEAD 文件名
暫時(shí)保存當(dāng)前工作目錄
git stash
查看當(dāng)前保存的工作狀態(tài)列表
git stash list
恢復(fù)工作狀態(tài) 不刪除保存的工作狀態(tài)列表
git stash apply
恢復(fù)指定的stash
git stash apply stash@{0}
刪除保存的工作狀態(tài)
git stash drop
恢復(fù)工作狀態(tài)同時(shí)刪除保存的工作狀態(tài)列表
git stash pop
查看文件修改日志
git log 文件名
日志簡(jiǎn)潔模式
git log -pretty=oneline
查看動(dòng)作日志
git reflog
查看分支合并圖、日志簡(jiǎn)略 commit-id 取短
git log --graph --pretty=oneline --abbrev-commit
刪除版本庫(kù)文件
git rm 文件名
查看文件內(nèi)容
cat 文件名
本地分支操作
查看本地分支
git remote -v
創(chuàng)建dev分支
git branch dev
切換到master分支
git chekout master
創(chuàng)建dev分支并切換到dev分支相當(dāng)于(git branch dev和 git checkout dev)
git checkout -b dev
合并dev分支到當(dāng)前分支
git merge dev
刪除dev分支
git branch -d dev
查看分支,當(dāng)前分支帶有*號(hào)
git branch
合并dev分支,--no-ff參數(shù)表示禁用“Fast forward”,因?yàn)楸镜睾喜⒁獎(jiǎng)?chuàng)建一個(gè)新的commit,所以加上-m參數(shù),把commit描述寫進(jìn)去
git merge --no-ff -m "merge with no-ff" dev
遠(yuǎn)程庫(kù)操作
推送dev分支到遠(yuǎn)程庫(kù)
git push origin dev
將本地主分支推到遠(yuǎn)程(如無遠(yuǎn)程主分支則創(chuàng)建,用于初始化遠(yuǎn)程倉(cāng)庫(kù))
git push -u origin master
創(chuàng)建本地dev分支
git checkout -b dev orgin/dev
指定本地dev分支與遠(yuǎn)程分支的origin/dev分支的鏈接(指定之后才能正常往origin/dev分支上push)
git branch --set-upstream dev origin/dev
查看所有分支(紅色為遠(yuǎn)程分支)
git branch -a
查看遠(yuǎn)程分支
git branch -r
刪除遠(yuǎn)程分支
git branch -r -d origin/branch-name
git push origin :branch-name
標(biāo)簽操作
當(dāng)前版本庫(kù)打標(biāo)簽
git tag v1.0
查看版本庫(kù)標(biāo)簽
git tag
根據(jù)commit-id打標(biāo)簽
git tag v0.9 commit-id
查看標(biāo)簽信息
git show v1.0
創(chuàng)建帶有說明的標(biāo)簽,用-a指定標(biāo)簽名,-m指定說明文字
git tag -a v1.0 -m "version 1.0 released" commit-id
刪除標(biāo)簽
git tag -d v1.0
推送標(biāo)簽到遠(yuǎn)程庫(kù)
git push origin v1.0
推送本地全部標(biāo)簽到遠(yuǎn)程庫(kù)
git push origin --tags
刪除遠(yuǎn)程庫(kù)標(biāo)簽(先刪除本地標(biāo)簽庫(kù),然后推送到遠(yuǎn)程庫(kù))
git tag -d v1.0 git push origin :refs/tags/v1.0
以下為別名命名規(guī)則
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
把暫存區(qū)的修改撤銷掉
git config --global alias.unstage 'reset HEAD'
顯最后次提交信息
git config --global alias.last 'log -1'
格式化log的日志輸出
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置全局用戶名(不想使用全局的,可在項(xiàng)目根目錄配置去掉--global即可)
git config --global user.name "zhangsan"
配置全局用戶郵箱(不想使用全局的,可在項(xiàng)目根目錄配置去掉--global即可)
git config --global user.email "zhangsan@qq.com"