git使用心得记录 revert和reset区别 第一次记录 Git global setup git config --global user.name "yanghaifeng" git config --global user.email "573618722@qq.com" Create a new repository git clone http://192.168.12.123:6666/group-dataanalyzer/dataanalyzerfront.git cd dataanalyzerfront touch README.md git add README.md git commit -m "add README" Push an existing folder cd existing_folder git init git remote add origin http://192.168.12.123:6666/group-dataanalyzer/dataanalyzerfront.git git add . git commit -m "Initial commit" Push an existing Git repository cd existing_repo git remote rename origin old-origin git remote add origin http://192.168.12.123:6666/group-dataanalyzer/dataanalyzerfront.git 第二次记录 参考链接https://juejin.im/post/5edcf3a36fb9a047fa04fbc3 set-upstream git branch --set-upstream-to=origin/master master 本地分支与远程分支建立关联 git branch --unset-upstream feature/test 本地分支与远程分支取消关联 git branch -m oldbranch newbranch 修改分支名 git reset 撤销commit提交 首先说明下:本地仓库会有几个区,HEAD(commit会改变) INDEX缓存区(ADD会改变) WORKING COPY(工作区) git reset --soft HEAD~1 INDEX 和 WORKING COPY 不会发生变化,相当于回退到ADD 那一步 git reset --hard HEAD~1 重置所有到另一个commit ,小心使用,可能会发生文件丢失 git reset --mixed(default)HEAD~1 回退到add之前,WORKING COPY不会发生变化 参考链接: https://www.cnblogs.com/kidsitcn/p/4513297.html git revert 撤销本地分支合并 和reset主要有两点区别,1>revert不会毁尸灭迹,会新增一条记录 2>如果合并的某个分支在操作过程中修改了内容,revert 能够实现仍然合并修改之前的所有分支,reset 则只能合并某一个修改之前的分支 总结起来就是,reset会丢掉操作commit之后的东西,revert会删掉操作的commit内容,但保留commit,并在head上新增一条revert记录 git checkout -b feature/delete HEAD@{2} (这里feature/delete指的是要恢复的分支名) 恢复误删除分支 先用git reflog,查看到记录 git branch --contains 700920 快速定位到要查看分支的内容