Git常用命令清单

前言

由于我经常性的“暂时性失忆”,所以决定在学完git的常用操作后,把这些经常用到的命令记录下来,以便自己下次在忘记命令后,能够及时的找到它,而不用再打开搜索引擎去搜索,感觉这样会节省很多时间 :)

Git常用操作

一、新建仓库

# 新建目录并初始化仓库
git init [dir]

# 从远程仓库拉取
git clone [url]

二、添加文件

# 添加指定文件
git add [file]

# 添加所有文件
git add .
git add --all

三、提交文件

# 提交文件到本地仓库
git commit -m '[comment]'

# 提交到远程仓库
git push [rep-name] [branch-name]

四、分支管理

# 查看本地分支
git branch


# 查看远程分支
git branch -r


# 创建分支
git branch [branch-name]


# 切换分支
git checkout [branch-name]

# 创建并切换分支
git checkout -b [branch-name]


# 合并分支
git merge [branch-name]
git rebase [branch-name]


# 删除本地分支
git branch -d [branch-name]


# 删除远程分支
git push [rep-name] :[branch-name]


# 强行删除一个未合并过的分支
git branch -D [branch-name]

五、远程仓库操作

# 添加远程仓库
git remote add [rep-name] [rep-url]


# 删除远程仓库
git remote rm [rep-url]


# 查看本地有哪些远程仓库
git remote


# 查看本地更详细的远程仓库
git remote -v


# 修改远程仓库名称
git remote rename [old-name] [new-name]

六、查看文件状态

# 查看仓库状态(比较的是工作目录和暂存区的状态变化)
git status

# 查看具体哪些文件内容发生了变化
git diff

七、版本控制

# 查看历史提交记录,以确定要回退到哪个版本
git log


# 将提交记录在一行显示
git log --pretty=oneline


# 查看命令历史,以便后悔了,想回到未来的某个版本。(找不到commit id的时候使用)
git reflog


# 版本“穿梭”,想去哪里去哪里
git reset --hard [commit-id]


# 回到上一个版本
git reset --hard HEAD^


# 回到上上一个版本
git reset --hard HEAD^^


# 回到第100个版本
git reset --hard HEAD~100

八、其他操作

# 当改乱了工作区某个文件的内容,想直接丢弃工作区的修改时
git checkout --file


# 改乱了工作区某个文件的内容,还提交到了暂存区,想丢弃修改.(两个连续操作)
git reset HEAD file
git checkout --file


# 当手头工作没完成时(不能想上传一个还未完成的任务),要去紧急修改一个bug。
git stash


# 修完bug后,恢复当初的工作场景,并删除暂存的内容。 
git stash pop


# 删除git仓库中文件
git rm [file]

八、git merge和git rebase

git进行分支合并有两种方式:1、git merge 2、git rebase。他们之间是有一些区别的,我是这样理解的:

  • git merge 合并分支时,会基于父分支产生一个新节点。

[图片上传失败...(image-c2b553-1559663556892)]

[图片上传失败...(image-373bc3-1559663556892)]

  • git rebase 合并分支时,实际上就是取出一系列的提交记录,”复制“它们,然后在另外一个地方逐个的放下去。也就是所谓的“变基”,它产生的是一条线性的提交记录。

[图片上传失败...(image-ba2c08-1559663556892)]

[图片上传失败...(image-33b7d7-1559663556892)]

[图片上传失败...(image-6a0391-1559663556892)]

你可能感兴趣的:(Git常用命令清单)