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、

 

posted @ 2019-10-10 23:10  OsSkill  阅读(306)  评论(0编辑  收藏  举报