Git 基础命令

Git 基础命令

六月 13, 2020

Git 入门

Git 是目前世界上最先进的分布式版本控制系统。

本地仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建本地仓库
$ git init
$ ls -ah # 查看隐藏的.git文件夹

# 提交到暂存区
$ git add <fileName>
$ git add . # 添加全部

# 提交到仓库
$ git commit -m "描述内容" #将暂存区的内容一次性提交到仓库

# 查看仓库当前状态
$ git status

远程仓库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建SSH Key
$ ssh-keygen -t rsa -C "邮箱地址"

# 本地关联远程库
$ git remote add origin 远程库地址

# 本地内容推送到远程库
$ git push -u origin master # 第一次推送要加-u 参数 推荐已存在项目上传

# 克隆远程库到本地
$ git clone 远程库地址 # 推荐新建项目,每人拉取

# 查看远程库
$ git remote
# 或者 $ git remote -v
# 查看更详细信息

标签管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 创建新标签
$ git tag <name> # 默认新建在最新提交的commit上
$ git tag <name> # 或对制定版本号打标签

# 查看所有标签
$ git tag

# 查看指定标签信息
$ git show <name>

# 删除标签
$ git tag -d <name>

# 标签推送到远程
$ git push origin <name>

# 推送全部标签
$ git push origin --tags

版本回退与管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 查看修改的内容
$ git diff

# 查看历史版本
$ git log
# 或者
$ git log --pretty=oneline # 只看版本号和描述内容

# 回退到上个版本
$ git reset --hard HEAD^

# 回退上上个版本
$ git reset --hard HEAD^^

# 回退上N个版本
$ git reset --hard HEAD-N

# 回退或前进到指定版本
$ git reset --hard xxxx(hash前6位)

# 查看之前的命令
$ git reflog # 可查看回退之后找不到的版本号

# 丢弃工作区的修改
$ git checkout -- <fileName>
# 若没放到暂存区,现在,撤销到和版本库一样
# 若已添加到暂存区,撤销到和咱去存一样

# 确定删除文件
$ git rm <fileName>

# 恢复删除文件
$ git checkout -- <fileName>

分支管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 创建分支
$ git branch 分支名
# $ git checkout -b 相当于创建并切换

# 切换分支
$ git checkout 分支名

# 查看分支
$ git branch # 当前分支前面会加上*

# 分支合并
$ git merge 分支名

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

# 冲突解决
# 手动修改保存后再提交

# 查看分支合并图
$ git log --graph

# 取消快进模式
$ git merge --no-ff -m "描述信息" dev

# 存储当前内容
$ git stash

# 恢复存储
$ git stash pop

# 推送分支
$ git push origin 分支名

# 创建远程分支到本地
$ git checkout -b 分支名 origin/分支名

奇怪但有用的命令

1
$ git pull origin master --allow-unrelated-histories