git 常用命令

115 阅读2分钟

1. 设置git上自己的姓名和邮箱

  1. git config --global user.name "姓名"
  2. git config --global user.email "邮件"

2.添加文件到git仓库

  1. git init 初始化git仓库
  2. git add . (文件提交暂存区)
  3. git commit -m "改动了什么,注释一下" (暂存区的内容提交当前分支)

3.查看当前文件状态 + 文件做了什么变动

  1. git status
  2. git diff

4. 查看文件历史记录

  1. git log
  2. git log --pretty=oneline (简单版展示历史记录)

4. 回退历史版本

HEAD表示当前版本,也就是最新的提交

上一个版本就是HEAD^

上上一个版本就是HEAD^^

当然往上100个版本写100个 写成HEAD~100

  1. git reset --hard HEAD^
  2. git reset --hard 'commit id' (此id可通过 git log 查看)

5.可查看每一次的操作命令

  1. git reflog

6.对于已改动不想要的代码,可去掉

  1. 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

  2. 当修改了文件的内容,还添加到了暂存区时,想丢弃修改,分两步:

    第一步:用命令git reset HEAD ,回退到工作区

    第二步:git checkout -- file 丢弃工作区

7.删除文件

  1. git rm 文件名

8.查看所有分支 *代表当前分支

  1. git branch

9.创建新的 dev分支

  1. git branch dev

10.切换到 dev分支

  1. git checkout dev 或 git switch dev

11.创建分支并且切换到新的 dev分支

  1. git checkout -b dev (-b 创建切换)
  2. git switch -c dev (推荐使用这个)

12.合并dev分支到当前分支

  1. git merge dev

13.删除dev分支

  1. git branch -d dev

14.查看分支合并图

  1. git log --graph

15.--on-off 表示禁用 fast forward

  1. git merge --on-off -m "今天做了什么" dev (本次合并要创建一个新的commit,所以加上了-m参数,把描述加上去) 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

16. git stash 把当前工作现场隐藏起来,等bug处理完成以后再继续进行工作

  1. 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
  2. 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

17.强行删除分支

  1. git branch -D 分支名称