Git命令总结

165 阅读4分钟
  1. git reset --mixed: 让文件退出暂存区,但是修改保留(这是处理git add提交之后,撤回的操作)
  2. git commit -m ' '和git commit -am ' '的区别:git commit -m 提交是该文件必须tracked且更改后进行了git add操作的;git commit -am 提交是该文件必须tracked,但是文件更改后就算没有进行git add操作也能进行commit提交
  3. git commit之后,想撤销commit:
    1. git reset --soft HEAD^,这样就成功的撤销了你的commit,注意,仅仅是撤回commit操作,回到git add之后,你写的代码仍然保留`
    2. 说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD1,如果你进行了2次commit,想都撤回,可以使用HEAD2

    --soft 不删除工作空间改动代码,撤销commit,不撤销git add .操作; --hard删除工作空间改动代码,撤销commit,撤销git add,注意完成这个操作后,就恢复到了上一次的commit状态(即一开始还没有修改代码的状态)。

  4. 顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:git commit --amend,此时会进入默认vim编辑器,修改注释完毕后保存就好了。
  5. git log 查看历史所有版本信息
查看历史提交版本:

1.git log 查看历史所有版本信息

2.git log -x 查看最新的x个版本信息

3.git log -x filename查看某个文件filename最新的x个版本信息(需要进入该文件所在目录)

4.git log --pretty=oneline查看历史所有版本信息,只包含版本号和记录描述


回滚版本:

1.git reset --hard HEAD^,回滚到上个版本

2.git reset --hard HEAD~2,回滚到前两个版本

3.git reset --hard xxx(版本号或版本号前几位),回滚到指定版本号,如果是版本号前几位,git会自动寻找匹配的版本号

4.git reset --hard xxx(版本号或版本号前几位) filename,回滚某个文件到指定版本号(需要进入该文件所在目录)
  1. 如果进行了git add操作,然后想退回到git add之前,即代码修改后但是还没有git add的状态可以使用命令git restore --staged ..." 来to unstage,此时进行git status查看,可以看到(use "git add ..." to update what will be committed)以及(use "git restore ..." to discard changes in working directory),如果这时我们想取消对代码的修改可以进行git restore ,不过非常不建议这样做,因为这样你的代码就白写了
  2. git clone url [文件夹名称(可以让项目的名称和git上面的不一样)],git clone -b [远程特定分支名] url [项目名],可以拉取远程特定的分支并重命名项目名称
  3. git branch -m [老分支] [新分支]重命名本地的分支名字,可以在其他分支操作
  4. 先git fetch origin [分支名]拉取远程的分支,git branch --track [本地分支(新建一个本地分支)] origin/dev,让远程的dev分支与本地的分支建立联系
  5. git push origin -d [远程分支]删除远程分支
  6. git reset [--soft | --mixed | --hard] [HEAD], --mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。讲的通俗一点就是回滚值指定的版本,但是保留代码修改,并且不会执行git add操作把修改的代码staged,--soft也是回滚,也会保留修改的代码,并且把修改的代码执行git add操作, --hard回滚且不会保留修改后的代码,可以理解为回到指定版本如果不想使用HEAD,也可以git log查看提交记录,然后复制commitId,回到进行了某次commit操作的版本
  7. git branch --set-upstream-to=origin/dev dev(本地分支),将本地分支与远程分支作关联
  8. git push -u origin xxxx -f 强行推送本地分支到远程分支,改动作有危险,慎用 HEAD 说明:
HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
以此类推...
可以使用 ~数字表示   
HEAD~0 表示当前版本
HEAD~1 上一个版本  
HEAD~2 上上一个版本  
HEAD~3 上上上一个版本
以此类推...
  1. git学习1,git学习2