记录工做中,最经常使用的一些 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
管理了