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
快速定位到要查看分支的内容

原文地址:https://www.cnblogs.com/yanghaifeng/p/12888648.html