git.ZC_命令积累
1、删除文件
git rm 想要删除的文件的名字及其后缀 git commit -m "对本次提交的描述信息" git push
删除文件夹,执行命令:
git rm 想要删除的文件夹的名字 -r
找回误删文件、文件夹
git log
git reset --hard 需要回退到的状态的commit标识号
git reset --hard 最新状态的commit标识号
git add . git commit -m "对本次提交的描述" git push
过程示意图:
commit:1——>commit:2——>commit:3——>commit:4——>commit:5 误删 最新状态
1.1、3、git 取消commit - LittleMoon - 博客园.html(https://www.cnblogs.com/lyy-2016/p/6509707.html)
git如何撤销上一次commit操作 1.第一种情况:还没有push,只是在本地commit git reset --soft|--mixed|--hard <commit_id> git push develop develop --force (本地分支和远程分支都是 develop) 这里的<commit_id>就是每次commit的SHA-1,可以在log里查看到 --mixed 会保留源码,只是将git commit和index 信息回退到了某个版本. --soft 保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可. // ZC: 主要使用的是这个参数 --hard 源码也会回退到某个版本,commit和index 都会回退到某个版本.(注意,这种方式是改变本地代码仓库源码) 当然有人在push代码以后,也使用 reset --hard <commit...> 回退代码到某个版本之前,但是这样会有一个问题,你线上的代码没有变,线上commit,index都没有变,当你把本地代码修改完提交的时候你会发现全是冲突.....这时换下一种 2.commit push 代码已经更新到远程仓库 对于已经把代码push到线上仓库,你回退本地代码其实也想同时回退线上代码,回滚到某个指定的版本,线上,线下代码保持一致.你要用到下面的命令 git revert <commit_id> revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新。 注意:git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit,看似达到的效果是一样的,其实完全不同。 第一:上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会. 第二:如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里. 第三:reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.
ZC:我只是测试了 如下的情况:本地commit了,但是没有提交到远程:(注意点:需要本地git中已经有commit的记录才行[不管是拉的远程的记录还是本地提交的记录(例如远程空&本地首次提交)],不然会报错) 暂时主要使用 命令"git reset --soft HEAD^"
1.2、
1. 查看git的提交版本和id 拿到需要恢复的版本号 命令:git log 2. 恢复到指定版本 命令:git reset --hard 44f994dd8fc1e10c9ed557824cae50d1586d0cb3 //后面这一大串44f994dd8fc1e10c9ed557824cae50d1586d0cb3就是版本id 3. 强制push 命令:git push -f origin master
1.2.1、git log
(1)、git log --pretty=oneline
(2)、貌似 git log可以带的参数很多,其中一篇参考文章:Git - 查看提交历史.html(https://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2)
2、【git】git add 添加错文件 撤销 - 哲之守义 - 博客园.html(https://www.cnblogs.com/arieslee/p/8288223.html)
git add 添加 多余文件 这样的错误是由于, 有的时候 可能 git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件 git add 如果添加了错误的文件的话 撤销操作 git status 先看一下add 中的文件 git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
ZC:git reset HEAD
3、(20191208)强制pull(我用的如下命令):
git fetch --all
git reset --hard origin/master
git pull
4、
5、