記錄工做中,最經常使用的一些 git 命令跟操做git
$ git checkout -b feature/dev
推送分支到遠程shell
$ git push origin feature/dev
查看分支狀況,遠程本地都已經有分支了code
$ git branch -a * feature/dev master remotes/origin/HEAD -> origin/master remotes/origin/feature/dev remotes/origin/master
$ git checkout -b feature/dev origin/feature/dev
查看分支狀況,遠程本地都有分支了開發
$ git branch -a * feature/dev master remotes/origin/HEAD -> origin/master remotes/origin/feature/dev remotes/origin/master
feature/dev
合併到 master
分支$ git merge feature/dev
$ git merge feature/dev Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.
<<<<<<< HEAD master ======= Test merge >>>>>>> feature/dev
<<<<<<< HEAD
至 >>>>>>> feature/dev
部分,表示衝突的內容<<<<<<< HEAD
至 =======
部分,表示是HEAD
節點,也就是master
的內容=======
至 >>>>>>> feature/dev
部分,表示是feature/dev
分支的內容$ git add . $ git commit -m"解決衝突" $ git push
$ git branch -d feature/dev // 刪除本地分支 $ git branch -D feature/dev // 強制刪除本地分支
$ git push origin :feature/dev
$ git branch -M [old branch name] [new branch name]
commit
的hash
值來進行回退HEAD~2
,來回退兩個commit
$ git reset --hard [commit hash] // 回退到某個commit $ git reset --hard HEAD~2 // 回退2個commit
假如,咱們在只是commit
了,並無push
到遠程,並且咱們還回退了版本,咱們能夠經過git reflog
查看git
執行的命令,來獲取commit
的hash
值又返回到最新的commit
節點rem
$ git reflog $ git reset --hard [commit hash]
咱們本地提交的信息有太多無用的信息,咱們須要合併一下提交信息源碼
$ git reset --soft HEAD~2
上面命令,只會把commit
信息回退,並不會將源碼回退,這時候咱們能夠從新提交commit
信息hash
$ git commit -am"new commit message"
咱們就能夠看到,前面的2個commit
信息不見了,只有新的提交信息it
工做中,可能會碰見,正在開發某個需求,文件有改動,這時候,忽然來了某個緊急的bug,須要去解決,這時候,咱們還沒改動完,想保留現場,而後切分支改完bug,在切回來,這時候就能夠用到
git stash
命令了ast
先執行如下命令,將變化臨時保存起來,提交到git
堆棧,而且切換分支,更改代碼class
$ git stash
修復完東西后,切回分支,在執行如下命令,將改動還原回來
$ git stash pop
$ git rm --cached [file] $ git commit -m"" $ git push
而後,將文件名稱或者後綴寫入.gitignore
就不會被git
管理了
$ git rm -r --cached [folder] $ git commit -m"" $ git push
而後,將文件名稱或者後綴寫入.gitignore
就不會被git
管理了