Git 常用命令

Posted 卡霾哈霾哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 常用命令相关的知识,希望对你有一定的参考价值。

最常见

# 查看 git 客户端版本
git --version

# 得到一个完整的 git 子命令列表
git help -all

# 创建一个新的 Git 版本库
git init

# 增加该目录下的某个文件到版本库中
git add file

# 把当前目录及子目录中的文件都添加到版本库里
git add.

# 从版本库中删除文件: foo.txt; 会将文件从索引区和工作目录中都删除。
git rm foo.txt
git commit -m "delete foo.txt"

# 版本库文件重命名; 把 foo.txt 改为 foo_new.txt
git mv foo.txt foo_new.txt
git commit -m "rename foo.txt to foo_new.txt"

# 显示 add 后但是没有 commit 的变更
git status


# 查看版本库里一系列单独提交的历史,如果继续看更早的就按 "E"
git log

# 按住 Esc 连续按 2 次 大写的 "Z",就能退出当前命令

# 创建版本库副本;git clone
# 从本地的仓库 HelloWorld 创建副本 MyHelloWorld
git clone HelloWorld MyHelloWorld

# 从 Git 服务器上创建副本,如从 GitHub 的一个仓库创建副本:
git clone https://github.com/kamaihamaiha/Notes MyNotes

# 创建一个 Tag(带附注的),commit_ID 在指定的提交 ID 下创建。
git tag -m "Tag version 1.0" V1.0 commit_ID

配置相关命令

# 配置提交作者用户名; 也可以加上 --global 选项,用来作用域全局设置。
git config user.name "张三"

# 配置提交作者邮箱
git config user.email "zhangsan@gmail.com"

# 查看整组配置文件里共同查找的所有变量的设置值
git config -l

# 只看版本库特定的设置
cat .git/config

# 移除用户名设置和邮箱设置,也可以加上 --global 选项,用来作用域全局设置。
git config --unset user.name
git config --unset user.email

分支

# 查看分支
git branch      查看本地分支
git branch -r    查看远程分支
git branch -a    查看所有分支
git branch -v     查看本地分支,含 HEAD 值,提交信息。

# 创建分支:hot_fix
git branch hot_fix

# 切换分支,切换到 hot_fix 分支
git checkout hot_fix

# 合并分支
①:切换到合并目标的分支-master
git checkout master

②:执行 合并操作。把 hot_fix 合并到 master
git merge hot_fix

# 删除分支
git branch -d 分支名

# 重命名分支
第一步:重命名本地分支:
1. 切换到本分支下
2. git branch -m new-name

第二步:删除远程旧分支名,然后把本地的新的分支名字推送上去:
1. git push origin :old-name new-name

第三步:给本地的新名字的分支重新设置上传流。
git push origin -u new-name

# 创建空白新分支
1. git branch <new_branch>
2. git checkout <new_branch>
3. git rm --cached -r .
4. git clean -f -d
5. git commit --allow-empty -m "..."
6. git push origin <new_branch>

# 在本地创建分支【关联远程分支】并切换到该分支
git checkout -b dev(本地分支名) origin/dev(远程分支名称)

# 远程仓库建了一个新分支,本地想要查出来
git remote update origin -p

log 命令

1. git log
查看提交日志

2. git log --pretty=oneline
查看提交日志,每次递交都按照一行展示

3. git log --oneline
查看提交日志,每次递交都按照一行展示,并且现实当前版本及以前的版本提交日志。其中 HEAD 的哈希值只显示前几位。

4. git reflog
查看提交日志,显示提交的索引值。

5. git rev-list HEAD --count
查看当前分支提交次数

6. git log --follow specify_file
查看指定文件(specify_file)相关联的整个历史记录

diff 命令

1. git diff
工作区和暂存区到差别, 后面可以加上文件

2. git diff --cached
历史库和暂存区到差别

查看提交

# 查看特定提交更加详细的信息,commit_ID 是具体的提交 ID
git show commit_ID

# 查看提交信息单行摘要,--more=10 是最近的 10 个提交,不加上就显示最新的提交
git show-branch --more=10

# 查看提交差异,commitA_ID 和 commitB_ID 是两次提交的 ID。
git diff commitA_ID commitB_ID

reset 命令

用来进行前进和后退。
reset 三个参数:--hard, --mixed, --soft

--hard

在本地库移动 HEAD 指针
重置缓存区
重置工作区

--mixed

在本地库移动 HEAD 指针
重置缓存区

--soft

在本地库移动 HEAD 指针

前进和后退命令

三种方式:基于索引值[推荐]、使用 ^、使用 ~

# 到指定某个提交
git reset --hard commit_ID

# 往后退
git reset --hard HEAD^  //退一步
git reset --hard HEAD^^ //退两步
...

# 往后退
git reset --hard HEAD~1 //退一步
git reset --hard HEAD~2 //退两步
...

不太常用的命令

# 根据文件的散列值,把对象内容从对象库中提取出来
git cat-file -p 散列值

# 通过对象的唯一前缀来查找对象散列值(如:3b18e512d)
git rev-parse 3b18e512d

# 查看版本库中的所有文件,及其对应的散列值
git ls-files -s

# 捕获索引状态,并保存到一个数对象里
git write-tree

# 查看提交的细节
git show --prety=fuller

# 计算文件的 SHA1 散列值
git hash-object file

# 将一个文件由已暂存转化成未暂存,也就是删除索引中的文件并保留在工作目录中
git rm --cached file

以上是关于Git 常用命令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

git 常用命令

源代码管理相关命令(Git常用命令Nuget常用命令CMD常用命令)

git常用命令