最近从 0 学习 Git,详细分类总结了这份 Git 命令
  • 时间:2020-08-17

作者:帅地

尽管之前学过 Git,不过用的比较少,许多原理也不是很清楚,所以最近是买了个视频,静下心来从零学习了下 Git,不过 Git 用来用去其实也就那几个指令,今日这篇文章,我把那些指令都分类总结了一下,这些总结大部分来自于我买的一个 Git 鼠标垫,首要是为了今后自己忘记了便利查找。信任这份 Git 宝典,必定值得你保藏。

假设你初次运用 Git,那刚开始首先是需求装备各种身份信息的,这样当你提交相关使命的时分,他人才干知道这个 commit 是谁提交的。

1、装备大局账户,也便是该账户对一切的 Git 库房都有用

git config --global user.name '你的账户称号'
git config --global user.email '你的 Email'

2、装备部分账户,也便是该账户只对当时 Git 库房有用

git config --local user.name '你的账户称号' 
git config --local user.email '你的 Email'

留意,不同点便是一个参数是 global,一个是 local

装备了之后,明显有时分是需求检查咱们当时装备的相关状况的,能够运用如下指令

1、检查 global 类型的装备状况

git config --global --list

2、检查某个库房下的装备状况

git config --local --list

这部分指令有点多,也是运用的最频频的指令了,待我一一列举出来,主张保藏

1、检查改动状况

git status

2、检查当时作业在哪个分支上

git branch -v

3、切换到指定分支

git checkout 指定分支的称号

4、把 当时目录及其子目录 下一切改动都加入到 暂存区

git add . // 留意,add 后边是一个 '.';

5、把库房内 一切 改动都假设到暂存区

git add -A

6、把指定文件添加到暂存区

git add 文件1 文件2 ... 文件n

7、创立正式的 commit,也便是把当时的数据提交上去

git commit

1、比较某文件作业区和暂存区的差异

git diff 某文件

2、比较某文件暂存区和 HEAD 的差异

git diff --cache 某文件

3、比较作业区和暂存区的一切差异

git diff

4、比较暂存区和 HEAD 的一切差异

git diff --cache

1、把作业区指定文件康复成和暂存区相同

git checkout 文件1 文件2 ... 文件n

2、把暂存区指定文件回复和 HEAD 相同

git reset 文件1 文件2 ... 文件n

3、把暂存区和作业区一切文件康复成和 HEAD 相同

git reset --hard

4、用 difftool 比较恣意两个 commit 的差异

git difftool commit1 commit2

留意,从作业区回滚到暂存区则用 checkout ,否则用 reset

检查哪些文件没有被 Git 管控

git ls-files --others

1、把未处理完的改动先保存到 stash 中

git stash

2、暂时使命处理完后持续之前的作业

git stash pop // pop 相当于栈的出栈和入栈相同,把之前的使命弹出来
git stash apply // 和 pop 不同的是, apply 相当于从栈顶把使命取出来,可是不过从栈中把使命移除

3、检查一切的 stash

git stash list

4、取回某次 stash 的改动

git stash pop stash @{数字n}

咱们的库房的内容每次改动履行 commit 的时分,都会生成一个新的 commit,不过有时分,咱们不想发生新的 commit,而是想要经过修正之前的 commit 来改动库房的内容,那么就能够运用如下指令了

1、修正最终一次 commit

1、在作业区中修正文件
2、git add
3、git commit --amend

2|、修正中心的 commit

1. git rebase -i X前面的一个 commit 的 id
2. 在作业区修正文件
3. git add
4. git rebase --contiue 

1、当时分支各个 commit 用一行显现

git log --online

2、显现最近的 n 个 commit

git log -n

3、用图示显现一切的分支前史

git log --online --graph --all

4、检查涉及到某文件改动的一切 commit

git log 某文件

5、某文件各行最终修正对应的 commit 以及作者

git blame 某文件

根据当时分支创立新分支

git branch 新分支

根据指定分支创立新分支

git branch 新分支 已有分支

根据某个 commit 创立分支

git branch 新分支 某个 commit 的id

创立分支而且切换到该分支

git chechout -b 新分支

列出本地分支

git branch -v

列出本地和远端分支

git branch -av

列出远端一切分支

git branch -rv

列出称号符号某款式的远端分支

git branch -rv -l '某款式'

安全删去本地某分支

git branch -d 要删去的分支

强行删去本地分支

git branch -D 要删去的分支

删去已合并到 master 分支的一切本地分支

git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d

删去远端 origin 已不存在的一切本地分支

git remote prune origin

从 commit 打上标签

git tag 标签名 commit 的id

1、把 A 分支合入到当时分支,且为 merge 创立 commit

git merge A分支

2、把 A 分支合入到 B 分支,且为 Merge 创立 commit

git merge A分支 B分支 

3、把当时分支根据B分支做 rebase,以便把B分支合入到当时分支

git rebase B分支

4、把A分支根据B分支做rebase,以便把B分支合入到A分支

git rebase B分支 A分支

5、用 mergetool 处理抵触

git mergetool

1、列出一切 remote

git remote -v

2、添加 remote

git remote add url地址

3、删去 remote

git remote remove remote的称号

4、改动 remote 的name

git remote rename 旧称号 新称号

5、把远端一切分支和标签的改动都拉到本地

git fetch remote

6、把远端分支的改动拉倒本地,且 merge 到本地分支

git pull remote称号 分支名

关于 pull 和 fetch 的差异不明白能够看这篇文章 从0学习Git:详解git pull和git fetch的差异

7、把本地分支 push 到远端

git push remote称号 分支名

8、删去远端分支

git push remote --delete 远端分支名
git push remote:远端分支名

9、向远端提交指定标签

git push remote 标签名

10、向远端提交一切标签

git push remote --tags

假设把这些指令把握了,那么 git 就随手拈来了,不过许多指令是比较简单忘的,一切仍是比较需求一份 git 手册,今后用到的时分多查几回,多用几回指令,信任就能够记住了。

不过单单会指令不知道原理的话仍是不大行,至于原理,能够经过网上找文章渐渐了解,当然,假设有需求,我后边也会共享 git 的一些原理,让我们从本质上读懂 git。

1、 从0学习Git: 详解git pull和git fetch的差异

2、Git运用教程: 最具体、最傻瓜、最粗浅、真实手把手教!

更多 算法


客服QQ: 点击这里
地址: 客服QQ:
Copyby 2020 Power by DedeCms

服务时间:7X10小时