常用Git命令总结

前言

本文记录一些在开发上常用的Git命令。

git查看命令帮助文档

1
git help [命令]

本地库初始化

1
2
3
4
# 在本目录下创建一个Git仓库
git init
# 创建一个目录,并将它初始化成Git代码库
git init [project-name]

执行该命令后会在当前文件夹内生成一个.git 目录。

注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除,也不要胡乱修改。

设置签名信息

项目/仓库级别签名

1
2
git config user.name user_name
git config user.email user_email

信息保存位置:./.git/config 文件。

系统用户级别签名

1
2
git config --global user.name user_name
git config --global user.email user_email

信息保存位置:~/.gitconfig 文件。

查看工作区、暂存区状态

1
git status

将工作区的“新建/修改”添加到暂存区

1
2
3
4
5
6
# 添加指定文件到暂存区
git add [file name]
# 添加指定目录到暂存区,包括子目录
git add [dir]
# 添加当前目录的所有文件到暂存区
git add .

将暂存区的内容提交到本地库

1
2
3
4
5
6
7
# 将暂存区的内容提交到本地库
git commit -m "commit message" [file name]
# 使用一次新的commit,替代上一次提交
# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
git commit --amend -m [message]
# 重做上一次commit,并包括指定文件的新变化
git commit --amend ...

查看历史记录

1
git log

多屏显示控制方式:
space向下翻页,
b 向上翻页,
q 退出。

其他查看历史的方式:

1
2
3
4
5
6
7
8
# 一行显示
git log --pretty=oneline
# 一行显示,省略部分id
git log --oneline
# HEAD@{移动到当前版本需要多少步}
git reflog
# 显示commit历史,以及每次commit发生变更的文件
git log --stat

回退版本

基于索引值操作[推荐]

1
git reset --hard [局部索引值]

使用^符号:只能后退

1
git reset --hard HEAD^

注:一个^表示后退一步,n 个表示后退 n 步。

使用~符号:只能后退

1
git reset --hard HEAD~n

注:表示后退 n 步。

reset命令三个参数对比

--soft: 仅仅在本地库移动 HEAD 指针。

--mixed: 在本地库移动 HEAD 指针,重置暂存区。

--hard: 在本地库移动 HEAD 指针,重置暂存区,重置工作区。

比较文件差异

1
2
3
4
# 将工作区中的文件和暂存区进行比较
git diff [文件名]
# 将工作区中的文件和本地库历史记录比较
git diff [本地库中历史版本] [文件名]

不带文件名比较多个文件。

分支

查看所有分支

1
2
3
4
5
6
# 列出所有本地分支
git branch -v
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a

创建分支

1
2
3
4
# 创建一个分支,但依然停留在当前分支
git branch [分支名]
# 创建一个分支,并切换到该分支
git checkout -b [branch]

切换分支

1
git checkout [分支名]

合并分支

第一步:切换到接受修改的分支(被合并,增加新内容)上,

1
git checkout [被合并分支名]

第二步:执行 merge 命令,

1
git merge [有新内容分支名]

远程仓库

查看所有远程仓库

查看当前所有远程地址别名:

1
git remote -v

添加远程仓库

1
git remote add [别名] [远程地址]

推送到远程仓库

1
git push [别名] [分支名]

克隆远程仓库

1
git clone [远程地址]
如果喜欢, 请给我加个🍗~
0%