美文网首页Git使用
git常用命令汇总

git常用命令汇总

作者: 息息小眠虫 | 来源:发表于2019-10-08 14:20 被阅读0次

参考git详细教程:一小时学会git

1. git的分区

工作区(Working Directory)---->暂存区(Staging area)---->本地仓库(Repository)---->远程仓库(Remote Directory)

2. git设置用户名和邮箱

2.1. 全局

  • 配置文件位置:C:\Users\gobaio/.gitconfig
    git config --global user.name "gobaio"
    git config --global user.email "gobaio@163.com"

2.2. 局部

  • 配置文件位置:项目路径\.git\config
    git config --local user.name "gobaio"
    git config --local user.email "gobaio@qq.com"

3. git移除配置

git config --global --unset user.emal

4. git设置别名

  • 将commit设置别名为ci
    git config --global alias.ci commit

5.查看git的用户名和邮箱

git config user.name
git config user.email

6.查看git的所有的配置

git config -l

7.创建git仓库

7.1. 创建全新的git仓库

  1. 将当前文件夹创建为git仓库
    git init
  2. 将当前文件夹下面的子文件夹创建为git仓库
    git init project1

7.2 克隆远程仓库

git clone [url]

8.将工作区的文件添加到暂存区

8.1. 提交单个文件或文件夹

git add test.java/entity

8.2. 提交所有文件和文件夹

git add -a
git add .

9. 将暂存区的文件提交到本地仓库

9.1. 提交单个文件或文件夹

git commit test.java/entity -m “提交记录的描述”

9.2. 提交所有的文件或文件夹

git commit -am "提交记录的描述"

9.3 提交时显示所有的diff信息

git commit -v

9.4 使用一次新的commit,代替上一次提交,如果代码没有任何新变化,则用来改写上一次提交的message

git commit --amend -m [message]

9.5 重做上一次commit,并包括指定文件的新变化

**git commit --amend [file1] [file2] ... **

9.6 commit message的编写规则

9.6.1 commit message按规则编写的好处

  1. 提供更多可查询的信息
  2. 过滤重要的内容
  3. 生成changelog

9.6.2 标准的commit message的组成部分

  1. header :type(scope):subject
  2. body
  3. footer

9.6.3 commit message 中 header的type几种常用的类型、scope的规则,及subject的规则

  1. feat:新功能
  2. fix:修复bug
  3. style:格式
  4. refactor:代码重构
  5. chore:项目构建
    scope:一般填写的是模块名
    subject:一般是提交的描述

9.6.4 安装commit Message插件commitizen

  1. 安装:npm install -g commitizen
  2. 当前项目-nmp的初始化:nmp init
  3. 当前项目下-设置为angular格式的commit message:commitizen init cz-conventional-changelog --save-exact
  4. 使用:git cz,然后选择type,填写scope,填写subject,其他的不填写。

9.7 生成changelog的插件

9.7.1 安装生成changelog的工具

npm install -g conventional-changelog

9.7.2 生成所有的changelog

conventional-changelog -p angular -i CHANGELOG.md -s -r 0

9.7.3 使用changelog的注意事项

  1. feat(scope): 某些信息 :subject与前面的冒号之间需要有一个空格
  2. scope必须使用小括号包裹

9.8 撤销上一次提交

git reset --hard HEAD~1

10 查看文件状态

10.1 查看所有文件详细状态信息

git status

10.2 查看单个文件详细状态信息

git status test.java

10.3 查看所有文件的简要信息

git status -s

11.将文件从暂存区删除文件,工作区不做改变(撤销git add 操作)

11.1 只从stage中删除,保留物理文件

git rm --cached readme.txt

11.2不但从stage中删除,同时删除物理文件

git rm readme.txt

11.3 把a.txt改名为b.txt

git mv a.txt b.txt

12. 签出 -checkout

12.1.检出branch分支。更新HEAD以指向branch分支,以及用branch 指向的树更新暂存区和工作区。

git checkout branch

12.2.汇总显示工作区、暂存区与HEAD的差异。

git checkout
git checkout HEAD

12.3.用暂存区中filename文件来覆盖工作区中的filename文件。相当于取消自上次执行git add filename以来(如果执行过)的本地修改。

git checkout -- filename

12.4.维持HEAD的指向不变。用branch所指向的提交中filename替换暂存区和工作区中相 应的文件。注意会将暂存区和工作区中的filename文件直接覆盖。

git checkout branch -- filename

12.5.注意git checkout 命令后的参数为一个点(“.”)。这条命令最危险!会取消所有本地的 #修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

git checkout -- . 或写作 git checkout .

12.6.如果不加commit_id,那么git checkout -- file_name 表示恢复文件到本地版本库中最新的状态。

git checkout commit_id -- file_name

12.7 新建一个分支 执行指定的提交(commit)

git branch [分支名] [commit id]

13 日志

13.1 查看详细日志

git log

13.2 查看有格式的日志

git log --oneline

13.3 查看n行日志

git log -n
git log -n --oneline

13.4 查看所有日志

git reflog

13.5 日志过滤

git log --oneline | grep [message]

14 远程仓库和远程分支

14.1 克隆master分支(当不指定分支名的时候,默认就是克隆master分支)

git clone [url]

14.2 克隆指定分支

git clone -b [branch name] [url]

14.3 指定远程仓库名克隆(不使用默认的origin名字)

git clone -o [自定义分支名] [url]

14.4 删除远程分支

  1. 常规命令
    git push [远程仓库名(一般为origin)] --delete [远程分支名]
    git branch -dr [远程仓库名]/[远程分支名]
  2. push时省略本地分支名(推送一个空分支到远程的某个分支上)
    git push [远程仓库名] :[远程分支名]

14.5 推送到远程仓库

git push [远程仓库名(一般为origin)] [远程仓库中的分支名]

14.6 查看远程仓库的信息

git remote -v

14.7 查看某个远程仓库的信息

git remote show [远程仓库名(一般为origin)]

14.8 将本地分支提交到远程的仓库

git remote add [远程仓库名(默认是origin,可以修改为任意哦)] [url(远程仓库地址)]

14.9 删除与本地仓库关联的远程仓库

git remote remove [远程仓库名(默认是origin)]

14.10 新建远程仓库

git remote add [分支名] [url(远程仓库的地址)]

14.11 取回远程仓库的变化,与本地分支合并

  1. 完整写法:
    git pull [远程仓库名] [远程分支名]:[本地分支名]
  2. 简介写法(表示与当前分支合并):
    git pull [远程仓库名] [远程分支名]
  3. 合并(如果其他人将远程仓库中删除了某个分支,git pull的时候会删除对应的本地分支,为了防止这个操作)
    git pull rebase [远程仓库名] [远程分支名]:[本地分支名]
  4. 在本地删除远程仓库中已经删除的分支
    git pull -p

14.12 上传本地指定分支到远程仓库

  1. 完整写法:
    git push [远程仓库名] [本地分支名]:[远程分支名]
  2. 简介写法:(省略远程分支名,将本地分支推送到与之存在追踪关系的远程分支--通常两者同名。如果远程分支不存在,则会被新建)
    git push [远程仓库名] [本地仓库的分支名(一般和本地分支名一致)]
  3. 如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略
    git push [远程仓库名]

14.13 强行推送当前分支到远程仓库,即使有冲突

git push [远程仓库名] --force

14.14 如果当前分支只有一个追踪的分支,主机名可以省略

git push

14.15 如果当前分支与多个主机存在追踪关系,则使用-u指定一个默认主机

git push -u [远程仓库名] [本地仓库的分支名]

14.16 不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机

git push --all [远程仓库名]

14.17 推送标签到远程分支(默认是不推送标签的)

git push [远程分支名] --tag

14.18 第一次push到远程仓库,当远程仓库有文件时,应该先执行如下命令pull远程仓库的内容,再进行push

git pull [远程仓库名] [远程仓库分支名] --allow-unrelated-histories
git push -u [远程仓库名] [本地仓库分支名]

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

git branch --track [本地分支名] [远程分支名]

15 标签tag

15.1 查看所有的标签

git tag

15.2 给当前分支打标签

git tag -a [tag name] -m [message]

15.3 向远程分支推送标签

git push --tag

15.4 为之前的某次提交打标签

git tag -a [tag name] [branch hash id] -m [message]

16. 修改的文件内容的查看

16.1 查看所有的修改过的文件的内容

git diff

16.2 查看添加到暂存区的修改的文件的内容

git diff --staged

17 分支

17.1 查看本地分支

git branch:带*号的为当前分支

17.2 查看远程分支

git branch -r

17.3 查看所有分支(本地分支+远程分支)

git branch -a

17.4 创建分支

git branch [分支名]

17.5 切换分支

git checkout [分支名]

17.6 创建并切换分支

git checkout -b [分支名]

17.7 删除分支

git branch -d [分支名]:-D(大写):强制删除

17.8 合并分支

git merge [要合并到当前分支的分支名]
如:当前在a分支,b分支上有添加的内容,需要将b分支中添加的内容合并到a分支git merge b

18 撤销

18.1 未添加到暂存区的撤销(没有git add 操作),撤销到最近的一次提交

  1. 单个文件的撤销
    git checkout --[fileName]
  2. 所有文件的撤销
    git checkout -- .

18.2 添加到暂存区的撤销(执行过git add 操作),撤销到执行过add命令之前的状态

  1. 对单个add过的,但没有commit过的文件进行撤销
    git reset HEAD [fileName]
  2. 对所有的add过的,但没有commit过的文件进行撤销
    git reset HEAD

18.3 已经提交的撤销操作(执行过git commit操作)

  1. 撤销某次commit---生成一个新的提交,当再次revert的时候,就会回到上一个版本,且再生成一个提交
    git revert [某次提交的ID]
  2. 回滚,---回退到某次提交,该提交以后的提交都会回退,且不会产生新的提交
    git reset --hard [某次提交的ID]

18.4 移除所有未被跟踪的文件(没有执行girt add操作的文件,删除物理文件)

git clean [options]:options:-df:-d:表示包含目录,-f:表示强制删除

18.5 只从暂存区中删除,保留物理文件

git rm --cached files

18.6 不但从stage中删除,同事删除物理文件

git rm files

19. 储藏(Stashing)

当在当前分支开发到中途的时候,需要切换到其他分支,当前的分支会丢失,可以使用stash命令

19.1 储藏当前修改

  1. 不添加message的
    git stash:git stash是本地的,不会通过git push命令上传到远程仓库
  2. 添加message(推荐,用于记录版本)
    git stash save [message]:给stash添加message

19.2 查看储藏列表

git stash list

19.2 重新应用缓存的stash

19.2.1 将储藏堆栈中的第一个stash删除,并将对应的修改应用到当前的工作目录下

git stash pop

19.2.2 应用指定的储藏,但不删除s堆栈中的stash

git stash apply [stashName]:如果不加stashName默认应用上一次的储藏

19.3 移除stash

  1. 删除指定名字的储藏
    git stash drop [stashName]:删除指定的stashName的储藏
  2. 删除所有的储藏
    git stash clear

19.4 取消储藏

git stash show -p [stashName] | git apply -R:如果没有指定名字,则会自动选择最近的一次储藏

相关文章

  • Git 常用命令详解

    @[TOC](Git 常用命令详解) 1. Git 常用命令 1.1 常用git 命令图表汇总 1.2 配置个人信...

  • git版本管理

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信...

  • Git的学习使用笔记

    一. 重要的参考资料 git干货系列 二. 常用命令汇总 git初始设置 git config --global ...

  • 其他

    Git常用命令mac常用命令Linux 常用命令汇总Linux 常用命令0Linux 常用命令1--ls命令

  • git 常用命令汇总

    一、git常用命令: 二、团队协作git操作流程: 三、git工作流 更多咨询请关注:1、Git 汇总2、VUE3...

  • Git常用汇总

    汇总自己的git常用命令的习惯 git init 以后,当面目录下会有一个.git文件夹 config git的配...

  • Git常用开发流程

    前言 我们在【Git常用命令备忘】中,对Git的所有命令进行了汇总。但是,Git在项目中如何价值最大化地实践,我们...

  • git 常用命令

    git 全局设置 常用命令汇总 移除目录 本地项目上传到github 忽略目录folder 将local repo...

  • git相关教程汇总

    1. git常用命令 git常用命令总结git常用命令讲解 2. git教程相关网站 廖雪峰的git教程猴子都能懂...

  • git命令整理

    git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...

网友评论

    本文标题:git常用命令汇总

    本文链接:https://www.haomeiwen.com/subject/gqybpctx.html