git基本介紹
git 分為工作區(qū)轮傍,暫存區(qū)申钩,本地倉庫 最后是遠(yuǎn)程倉庫
基本提交命令
- git add 文件路徑色徘,表示提交到暫存區(qū)
- git commit 表示提交到本地倉庫
git add .
git commit -m "xxx"
git push origin master
git 回退命令
- 在工作區(qū)很洋, git checkout + 文件路徑蜓肆,表示回退工作區(qū)的改動鼎天,抹除新寫的代碼
- 在緩存區(qū)舀奶, git reset HEAD + 文件路徑,回到工作區(qū)斋射,接著使用上面的命令可以抹除代碼
- 在本地倉庫育勺,git reset hard/mixed/soft + 上一個版本號但荤,hard 強(qiáng)制回退,新代碼mixed回到工作區(qū)狀態(tài)涧至,新代碼soft回到暫存區(qū)
git checkout .
git reset HEAD -- aaa.txt
git reset hard xxxxxxxxxxxxxxxx
查看命令
- git log查看所有commit版本號腹躁,git status查看代碼狀態(tài),處于工作區(qū)還是緩存區(qū)南蓬,工作區(qū)紅色纺非,代表未保存。綠色代表緩存區(qū)
git log
git status
git merge 與 git rebase
- git merge 表示分支合并赘方,通常master合并開發(fā)分支可以用
- git rebase 用于合并一個分支上多次提交commit烧颖,或者保持代碼提交記錄整潔
git merge dev
- 這里且dev分支,把master分支新改動插入dev改動之前窄陡。完成后切master分支炕淮,合并新的dev分支
git checkout dev
git rebase master
git checkout master
git merge dev
git stash 緩存分支
- 當(dāng)前A分支開發(fā)到一半, B分支需要處理bug. 緩存好跳夭,處理完bug后回來繼續(xù)開發(fā)
git stash
git checkout B
# 這里處理b分支bug
git checkout
git stash pop
- 多人開發(fā)時涂圆,推送代碼
git stash
git pull
git stash pop
# 這里釋放本地更改后,對可能得沖突做處理
git commit -m "xxx"
git push origin dev
git cherry-pick 篩選commit進(jìn)行合并
- git cherry-pick commit號币叹,是git rebase變式润歉,對部分得commit號摘取提交到分支