git branch -vv 显示git视图信息,git branch -v 显示本地的视图
git pull --rebase 基于当前追踪的分支进行rebase合并,
之后如果有冲突就修改冲突,冲突修复后,执行git add.
之后通过git rebase --continue继续rebase回放。
git pull --rebase过程中,如果本地领先大于1个提交,我们会回放的过程中,如果遇到冲突,会先从第一个提交进行合并解决,这个时候,第二个及之后的commit是不可见的,因此我们只需要解决好后,执行git add . git rebase --continue 即可解决冲突,并继续回放所有追踪分支的提交后,指针继续指向本地新提交的最新commit上。
git rebase --abort 取消rebase操作。
git rebase --continue 继续执行rebase
git pull 默认是git pull --merge 先从追踪分支进行pull,然后和本地当前分支进行合并。合并后,当前分支会根据提交时间排序,然后创建一个新的merge commit,这个时候当前commit变成了mergecommit;当然也就没办法再继续使用git commit -amend
git pull --rebase 执行pull后进行rebase操作,rebase就像时间回放一样,将落后于追踪分支的commit在本地当前分支进行回放,相当于本地当前分支会加入追踪分支的新commit,但是领先的提交永远在最上面,这个时候可以继续用git commit --amend进行提交。
git branch -u origin/master 修改当前分支追踪某个分支,如果用origin/xx,则追踪远程的xx,
例如git branch -u xx,那么则追踪本地的xx,作为tracker的分支。
git checkout -b new -t origin/master 创建一个新的本地分支 new,并设置tracker为origin/master
git push origin test -f 强制推送test分支到远程test,可以用 git push origin:test test -f如果不加-f ,那么对于amend 是不能进行推送的。
git reset --hard commitID 回退到某个提交上,但是修改会从缓存区消失。