工具这些东西,必须非常的熟悉,要不遇到情况的时候,完全不知道怎么去解决。
##### git log
##### git log --name-only
只看修改的文件和commit内容。
##### git log -p [-2]
##### git log --oneline
##### git log --pretty=oneline
最近提交的记录
##### git log --stat
##### git log -U1 --word-diff查看最近详细的提交的增删改查
### git log
https://www.cnblogs.com/bellkosmos/p/5923439.html
#### 如何修改最新提交的commit代码的备注
git commit --amend
里边有个小坑需要在git中配置vim编辑器。 https://www.jianshu.com/p/25cb74b08e5a
#### 如果修改倒数第二次提价的代码的commit https://www.jianshu.com/p/0f1fbd50b4be
#### 如何修改已经push的代码的备注
进入修改页面修改注释信息,修改后:wq保存退出
git push --force-with-lease origin master
如果其他人已经下载或改动:
git fetch origin
git reset --hard origin/master
#### 如何回滚某一个文件,而不是所有的文件
某一个文件你想把它回滚到最新的版本,而其他的文件不动的话。
git checkout aaaa.js
git reset HEAD aaaa.js(这个会导致缓冲区里的被冲掉)
#### 如何合并commit https://blog.csdn.net/u012562943/article/details/85335280
git rebase -i HEAD~3
选一个push到远端的版本a为标记
把a到你需要合并的最新的版本合并(连续的s)。
这个和git rebase -i a的效果一样的。
Ps:必须合并连续的commit.
#### 如何加入缓存
git stash https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html
#### git reset
$ git reset --hard HEAD^ 回退到上个版本 $ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 $ git reset --hard commit_id 退到/进到 指定commit的sha码 强推到远程: $ git push origin HEAD --force
#### git回滚上一次提交
git revert HEAD git push origin bracnName
#### git flow经典的图
master分支是稳定的版本,对外发布的版本。
develop是通常开发的分支。只有合并的权限并无提交的权限。
release 通常是当develop稳定后,给release分支打一个分支。
hotfix分支。当一个develop分支有一个tag后。当有一个bug的时候。开一个这个tag的hotfix分支。然后合并过来。
#### git学习网址。
https://learngitbranching.js.org/?NODEMO
##### git reset 与git revert不同。
git reset 直接回退。
而git revert是把以前拿过来再做一次回滚。
有人说这个时候,你强制推就行,但是实际有权限,不允许-f强制推的。
git revert 如果遇到一个合过来的分支,那么merge a to b 前边的那次commit id作为id。
##### merge的时候合并代码需要,切记。
##### 批量删除分支。
git fetch -p
git branch |grep 'feature-' |xargs git branch -D