Git常用命令手册

入门配置

用户信息
git config –global user.name Jason.Zeng

设置自己的用户名
git config –global user.email test@gmail.com
设置自己的邮箱

查看配置
git config –list

查看自己git的配置信息

设置编辑器
git config –global core.editor vim

当你用git编辑文件时,编辑文件的文本编辑器会默认调用vim

文本着色
git config –global color.ui true

可为大部分git的代码布上颜色

基础命令

建立版本库
git init

当前路径文件 初始化为Git仓库(可以发现 当前路径增加了.git文件夹)

git init 文件夹名

新建一个文件夹,并将其初始化为Git代码库

文件添加到暂存区
git add .

把当前目录所有未追踪文件,已修改的文件,添加到暂存区 (不包括被删除的文件)

git add 文件(夹)名

把特定文件(夹)添加到暂存区

git add -A

提交所有的文件操作到暂存区

git add -u

提交已修改的文件,被删除的文件(不包括新文件)

git add -p

交互式的缓存提交,会提供多个选项来自定义提交内容、方式

文件添加到本地仓库
git commit -m”commit message”

把暂存区的所有文件添加到本地仓库,-m”提交信息” (越详细越好)

git commit 文件(夹)名 -m”commit message”

把特定文件(夹)添加到本地仓库,-m”提交信息” (越详细越好)

git commit -am”commit message”

针对已经被追踪的文件,可以直接添加到本地仓库,不用先add在commit.

git commit –amend -m”commit message”

利用本次commit 重写上一次commit

git commit –amend –no-edit

利用本次commit 重写上一次commit 不会重写上次commit的提交信息

仓库状态获取
git status

可以立即获取本地仓库状态 以及 git的步骤提示,建议多使用此命令

版本回退
git reset –hard HEAD

将工作区,暂存区,本地仓库恢复到上一个版本(–hard)

git reset –soft HEAD^^^

将本地仓库恢复到上三个版本,不会修改暂存区,工作区(–soft)

git reset –mixd HEAD~5

将暂存区,本地仓库恢复到上五个版本,不会修改工作区(–mixd,默认)

git reset –hard commitID

将工作区,暂存区,本地仓库恢复到上指定版本 其中commitID就是每一次commit的版本号,可以使用git reflog获取

撤销暂存
git reset HEAD file.txt

撤销file.txt的add操作,使其变成不跟踪状态

git reset HEAD^ file.txt

将上一次提交版本的file.txt重新置入缓存区

撤销工作区
git checkout – file.txt

(只针对未追踪文件)用历史中的file.txt替换现有工作区的file.txt 如果文件增加到暂存区后 又进行了修改,那么执行命令后 将回到暂存区文件状态

git checkout HEAD – file.txt

用最后一次提交版本中的file.txt 替换现有工作区的file.txt

git checkout commitID – file.txt

用特定版本的file.txt 替换现有工作区的file.txt

撤销提交
git revert commitID

撤销指定版本的commit,并将此操作生成一个全新的commit并提交

文件操作

touch

touch 文件名 : 新建文件

mkdir

mkdir 文件夹名: 新建文件夹

vim

vim 文件名 : 新建文件,并用vim模式打开该文件进行编写

git init

git init 文件夹名:新建一个文件夹,并将其初始化为Git代码库

printf

printf ‘content’ > 文件名 :新建一个文件,并把content注入其内容

echo

echo ‘content’ > 文件名 :新建一个文件,并把content注入其内容


rm

rm 文件名 : 删除文件

clean

git clean -f 文件名 :删除未跟踪文件


vim

vim 文件名 : 打开文件,并用vim模式进行修改

mv

mv 选定文件名 新的文件名:把选定文件名 修改为 新的文件名

printf

printf ‘content’ > 文件名 : 将 content 替换 文件原有内容

echo

echo ‘content’ > 文件名 : 将 content 替换 文件原有内容


pwd

得到当前路径

cd

cd 路径 :进到某一文件路径 cd .. : 回退文件路径 cd : 回到默认的路径

cat

cat 文件名:查看该文件的内容

ls

查看该目录下的文件列表(不包括隐藏文件)

ls -a

查看该目录下的文件列表(包括隐藏文件)

show

git show: :展示任意分支某一文件的内容

分支操作
查看分支
git branch

列出本地分支

git branch -r

列出远端分支

git branch -a

列出所有分支

git branch -v

查看各个分支最后一个提交对象的信息

git branch –merge

查看已经合并到当前分支的分支

git branch –no-merge

查看为合并到当前分支的分支

git remote show origin

可以查看remote地址,远程分支

新建分支
git branch name

新建一个名为name的分支

git checkout -b name

新建一个名为name的分支,并自动切换为该分支

git branch [branch] [commit]

新建一个分支,指向指定commit

git branch –track [branch] [remote-branch]

新建一个分支,与指定的远程分支建立追踪关系

删除分支
git branch -d name

删除一个名为name的分支

git branch -D name

强制删除一个名为name的分支

git push :

删除远程分支

git push origin –delete

删除远程分支

切换分支
git checkout name

切换一个名为name的分支

git checkout -

切换上一个分支

重命名分支
git branch -m name
将当前所在分支命名为 name

标签
新建标签
git tag [tag]

新建一个tag在当前commit

git tag [tag] [commit]

新建一个tag在指定commit

git tag v0.9 commitID

对某次提交新建标签

查看标签
git tag
列出所有tag

删除标签
git tag -d [tag]

删除本地tag

git push origin :refs/tags/

可以删除一个远程标签

推送标签
git push origin –tags

一次性推送全部尚未推送到远程的本地标签

git push origin

可以推送一个本地标签

远程仓库
git remote

显示所关联的远程仓库

git remote -v

显示更详细信息

git remote add origin git@server-name:path/repo-name.git

关联一个远程库

git remote rm name

删除一个远程库

git remote rename

将远程连接从 重命名为

合并
git rebase master

将master分之上超前的提交,变基到当前分支

git rebase –interactive

交互模式,修改commit

git rebase –continue

处理完冲突继续合并

git rebase –skip

跳过合并

git rebase –abort

取消合并

查看汇总
查看信息
git whatchanged –since=’2 weeks ago’

查看两个星期内的改动

git log –follow [file]

显示某个文件的版本历史

git log –author=”John”

它会显示所有作者叫 John 的提交

get log –after=”yesterday”

查看昨天的历史信息

git log -3

展示最近3次历史信息

git log –graph

可以看到分支合并图

修改历史
git rebase -i commitID

将pick 替换成 r , 然后回车,vi退出可以使用 :x 修改 git的历史记录的提交信息

查看文件
git diff HEAD – readme.txt

可以查看工作区和版本库里面最新版本的区别

git diff –staged

显示暂存区(已经add)的文件和版本库文件的比较

git ls-files

查看在暂存区的文件

删除暂存
git rm –cached 文件名
把文件从暂缓区 返回至 工作区

其他
忽略文件
echo node_modules/ >> .gitignore

添加忽略文件

打包
git archive master –format=zip –output=master.zip

将Master分支打包

git bundle create

将历史记录包括分支内容打包到一个文件中

git clone repo.bundle -b

从某个Bundle中导入

工作区
git stash

将工作区现场(已跟踪文件)储藏起来

git stash list

查看保存的工作现场

git stash apply

恢复工作现场

git stash drop

删除stash内容

git stash pop

恢复的同时直接删除stash内容

git stash apply stash@{0}

恢复指定的工作现场

查找内容
git grep “Hello”

从当前目录的所有文件中查找文本内容

git grep “Hello” v2.5

在某一版本中搜索文本

帮助
git help -a

作者:Simon Ma
链接:https://tomotoes.com/blog/posts/264f2bd1/
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,626评论 9 163
  • 第一部分是文档,为了日后查看方便放到了前边[可能敲错了,详见阮一峰老师的文章]http://www.ruanyif...
    白璞1024阅读 1,013评论 0 49
  • (预警:因为详细,所以行文有些长,新手边看边操作效果出乎你的预料) 一:Git是什么? Git是目前世界上最先进的...
    axiaochao阅读 1,921评论 1 8
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,387评论 4 36
  • 安装Git Git的下载地址:Git官网下载地址 Git本地仓库和命令 配置用户 下载完Git后,右键会有一个Gi...
    TokyoZ阅读 4,485评论 1 7