Git命令

一、 创建仓库相关命令

1. git init:在当前目录中创建新的 Git 仓库

2. git clone:拷贝一份远程仓库,也就是下载一个项目

默认情况下,Git 会按照你提供的 URL 所指向的项目的名称创建你的本地项目目录。 通常就是该 URL 最后一个 / 之后的项目名称。如果你想要一个不一样的名字, 你可以在该命令后加上你想要的名称。

  • (1) git clone [url]:拷贝一个 Git 仓库到本地,url为要拷贝的项目地址

二、提交与修改相关命令

1. git add:添加文件到暂存区

  • (1) git add [file1] [file2] ...:添加指定文件到暂存区

  • (2) git add [dir]:添加指定目录到暂存区,包括子目录

  • (3) git add .:添加当前目录下的所有文件到暂存区

2. git status:查看仓库当前的状态

用于查看在你上次提交之后是否有对文件进行再次修改

  • (1) git status -s:获得简短的输出结果
    文件名前的AM状态的意思是:这个文件在我们将它添加到缓存之后又有改动。

3. git diff:比较文件的不同,即暂存区和工作区的差异

  • (1) git diff [file]:显示暂存区和工作区的差异

  • (2) git diff --cached [file]git diff --staged [file]:显示暂存区和上一次提交(commit)的差异

  • (3) git diff [first-branch]...[second-branch]:显示两次提交之间的差异

4. git commit:将暂存区内容添加到本地仓库中

  • (1) git commit -m [message]:添加到本地仓库中时带上message

  • (2) git commit [file1] [file2] ... -m [message]:提交暂存区的指定文件到仓库区

  • (3) git commit -a:修改文件后不需要执行 git add 命令,直接来提交

5. git reset:回退版本,指定退回某一次提交的版本

  • (1) git reset [--mixed] [HEAD]:--mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变
$ git reset HEAD^ # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本  
$ git reset 052e # 回退到指定版本
  • (2) git reset --soft HEAD:回退到某个版本
$ git reset --soft HEAD~3 # 回退上上上一个版本
  • (3) git reset --hard HEAD:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
$ git reset –hard HEAD~3  # 回退上上上一个版本  
$ git reset –hard bae128  # 回退到某个版本回退点之前的所有信息。 
$ git reset --hard origin/master    # 将本地的状态回退到和远程的一样 

⚠️ 注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。

  • (4) HEAD 说明:
HEAD 表示当前版本

HEAD^ 上一个版本

HEAD^^ 上上一个版本

HEAD^^^ 上上上一个版本

以此类推...

可以使用 ~数字表示
HEAD~0 表示当前版本

HEAD~1 上一个版本

HEAD^2 上上一个版本

HEAD^3 上上上一个版本

以此类推...

6. git rm:删除工作区文件

  • (1) git rm <file>:将文件从暂存区和工作区中删除

  • (2) git rm -f <file>如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

  • (3) git rm --cached <file> :把文件从暂存区域移除,但仍然希望保留在当前工作目录中

7. git mv:移动或重命名工作区文件

  • (1) git mv [file] [newfile]:移动或重命名一个文件、目录或软连接

  • (2) git mv -f [file] [newfile]:如果新的文件名已经存在,但还是要重命名它,可以使用 -f 参数

三、提交日志相关命令

1. git log:查看历史提交记录

  • (1) git log:查看历史提交记录

  • (2) git log --oneline:历史记录的简洁的版本

  • (3) git log --graph:查看历史中什么时候出现了分支、合并

  • (4) git log --reverse:逆向显示所有日志

  • (5) git log --author=[username]:查找指定用户的提交日志

  • (6) --since--before--until--after参数:查看指定日期范围内的历史提交记录

  • (7) --no-merges选项:隐藏合并提交

2. git blame <file>:以列表形式查看指定文件的历史修改记录

四、远程操作相关命令

1. git remote:远程仓库操作

  • (1) git remote -v:查看远程仓库信息

  • (2) git remote show [remote]:显示某个远程仓库的信息

  • (3) git remote add [shortname] [url]:添加远程版本库,shortname 为别名,以便将来引用

  • (4) git remote rm name : 删除远程仓库

  • (5) git remote rename old_name new_name: 修改仓库名

2. git fetch:从远程获取代码库

  • (1) git fetch <远程仓库的别名>:将远程仓库所有分支的最新版本全部取回到本地

  • (2) git fetch <远程主机名> <分支名>:将远程仓库指定分支的最新版本取回到本地

3. git merge:把指定的分支合并到当前所在的分支下

4. git push:上传远程代码并合并

5. git pull:下载远程代码并合并

git pull 其实就是 git fetchgit merge FETCH_HEAD 的简写。命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>

# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并
# 即:取回 origin/master 分支,再与本地的 brantest 分支合并。
$ git pull origin master:brantest

# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
$ git pull origin master

五、分支管理相关命令

1. 创建分支

$ git branch <branchName>

2. 切换分支

$ git checkout <branchName>

3. 合并分支

# 将任何分支合并到当前分支
$ git merge

4. 列出分支

$ git branch

5. 创建新分支,并立即切换到该分支

$ git checkout -b <branchName>

6. 删除分支

$ git branch -d <branchName>

参考资料

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

推荐阅读更多精彩内容

  • 简介 Git 作为分布式版本控制系统,基于去中心化的设计思想,在每个分布式节点上都保存有完整的版本,降低了对中心仓...
    zhipingChen阅读 518评论 0 3
  • git命令大全 一、新建代码库 -在当前目录新建一个Git代码库$gitinit -新建一个目录,将其初始化为Gi...
    可可奈奈learn阅读 332评论 0 0
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,384评论 1 26
  • 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 下面是我整理的常用...
    码大哈阅读 286评论 0 1
  • git 命令 简介:clone 克隆远程仓库init 初始化仓库remote 连接远...
    zeqinjie阅读 735评论 0 50