git有三個區(qū)域裆熙,工作區(qū),暫存區(qū)和版本庫。修改的時候是在工作區(qū)萤厅,工作區(qū)的文件添加到暫存區(qū),暫存區(qū)的文件再提交到版本庫中
create 創(chuàng)建項目
git clone <url>:從遠(yuǎn)程克隆一個項目下來
git init:在本地新建一個項目
local changes 修改
git status:查看修改過的文件
git diff:查看修改的內(nèi)容
git add .:提交所有修改的文件到暫存區(qū)
git add <file>:提交指定的文件到暫存區(qū)
git commit -a:提交工作區(qū)上次commit之后的變化靴迫,直接到版本庫
git commit:提交暫存區(qū)所有文件到版本庫
git commit --amend:使用新的commit來替代上一次的提交
commit history 提交日志
git log:查看提交歷史
git log -p <file>:查看指定文件的提交歷史
git blame <file>:以列表方式查看指定文件的提交歷史
branches & tags 分支和標(biāo)簽
git branch -av:查看所有分支狀態(tài)(需要使用qw退出)
git branch -a:查看分支列表
git checkout -b <branchName> origin/<branchName>:將遠(yuǎn)程分支origin/<branchName>映射同時切換到本地名為<branchName>的分支上
git checkout <branch>:切換到指定分支
git branch <new-branch>:創(chuàng)建新分支
git checkout --track <remote/branch>:基于遠(yuǎn)程分支創(chuàng)建一個新的分支
git branch -d <branch>:刪除一個本地分支
git tag <tag-name>:為當(dāng)前的提交創(chuàng)建一個標(biāo)簽
git tag -d <tag-name>:刪除一個標(biāo)簽
update & publish 上傳和發(fā)布
git remote -v:列出當(dāng)前所有的遠(yuǎn)程倉庫
git remote show <remote>:顯示遠(yuǎn)程倉庫的分支的信息
git remote add <shortname> <url>:在<url>上添加一個名為<shortname>的遠(yuǎn)程倉庫
git fetch <remote>:下載遠(yuǎn)程分支所有的更改惕味,但不要整合到HEAD中
git pull <remote> <branch>:下載更改并合并/整合到HEAD中
git push <remote> <branch>:上傳更改到遠(yuǎn)程分支中
git branch -dr <remote/branch>:從遠(yuǎn)程分支中刪除分支
git push --tags:上傳標(biāo)簽
merge & rebase 合并和衍合
合并:全部合一起有沖突再解決
衍合:一點一點合并,有一個沖突解決一個沖突
git merge <branch>:合并分支到當(dāng)前分支
git rebase <branch>:衍合分支到當(dāng)前分支
git rebase --abort:退出這次衍合
git rebase --continue:繼續(xù)衍合玉锌,下一個沖突
git mergetool:使用你配置的工具來解決沖突
undo 撤銷
git reset --hard HEAD:撤銷工作目錄中所有未提交文件的修改內(nèi)容
git checkout HEAD <file>:撤銷指定的未提交文件的修改內(nèi)容
git revert <commit>:撤銷指定的提交
git reset --hard <commit>:重置提交為上一次提交名挥,然后取消所有變化
git reset <commit>:重置提交為上一次提交,并將所有更改保留為未更改
git reset --keep <commit>:重置提交為上一次提交主守,并保留未提交的本地更改