测试工程师用到常用的git命令


正常情况下,我们的工作流就是3个步骤,对应上图中的3个箭头线:
git add .git commit -m "comment"git push
git add .把所有文件放入暂存区;
git commit把所有文件从暂存区提交进本地仓库;
git push把所有文件从本地仓库推送进远程仓库。

检查修改
已修改,未暂存(还没有做git add .之前)-> git diff
已暂存,未提交(执行git add .后)-> git diff --cached
已提交,未推送(执行git commit后)-> git diff master origin/master
撤销修改
已修改,未暂存(还没有做git add .之前)-> git checkout . 或者git reset --hard
已暂存,未提交(执行git add .后)->(
git reset git checkout .
或者 git reset --hard
git reset只是把修改退回到了git add .之前的状态,也就是说文件本身还处于已修改未暂存状态,你如果想退回未修改状态,还需要执行git checkout .。
或许你已经注意到了,以上两个步骤都可以用同一个命令git reset --hard来完成。是的,就是这个强大的命令,可以一步到位地把你的修改完全恢复到未修改的状态。)
已提交,未推送(执行git commit后)-> git reset --hard origin/master
(还是这个git reset --hard命令,只不过这次多了一个参数origin/master,正如我 们上面讲过的,origin/master代表远程仓库,既然你已经污染了你的本地仓库,那么就从远 程仓库把代码取回来吧。)

已推送 (既git add了,又git commit了,并且还git push了)这时你的代码已经进入远程仓库。如果你想恢复的话,还好,由于你的本地仓库和远程仓库是等价的,你只需要先恢复本地仓库,再强制push到远程仓库就好了:
git reset --hard HEAD^ git push -f

错误push到了远端:
1.回滚本地的最新的push记录
git reset --hard HEAD~1
2.回滚远端的
git push --force
------------------------------------------------------------------
错误commit,没有push到远端
git log
复制 id73cf921b5bbd422d1a
#回滚到哪一条
git reset 73cf921b5bbd422d1a
————————————————
原文链接:https://blog.csdn.net/qq_30758629/article/details/81001876

原文地址:https://www.cnblogs.com/wiki918/p/11943372.html