Git基本操作

Git 常用的是以下 6 个命令:git clonegit pushgit addgit commitgit checkoutgit pull

Git

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:或本地仓库
  • remote repository:远程仓库

Git常用流程

远端master分支代码合并到自己分支

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
# 备份当前修改
git stash

# 切换至本地master分支
git checkout master

# 拉取远端master分支代码
git pull

# 切换至本地dev分支
git checkout renyb_dev

# 合并master分支至dev分支
git merge master

# 恢复备份中的修改
git stash pop

# 命令用途
# git stash:备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
#
# git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
#
# git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
#
# git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

Git命令

基础管理

1
2
# 查看git配置
git config -l

回滚

1
2
3
4
5
# 撤销commit操作,代码保留
git reset --soft HEAD^

# 彻底回退到某个版本,本地的源码也会变为上一个版本的内容
git reset --hard <commit id>

创建仓库

1
2
3
4
5
# 初始化仓库
git init

# 克隆仓库(下载项目)
git clone <repo>

提交与修改

1
2
3
4
5
6
7
8
# 添加文件到仓库
git add <file or dir>

# 查看仓库当前的状态,显示有变更的文件
git status

# 提交暂存区到本地仓库中
git commit -m <message>

远程操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 从远程获取代码库
git fetch

# 下载远程代码并合并
git pull

# 上传远程代码并合并
git push

# 强制上传本地代码,覆盖远端代码
git push -f <remote> <branch>

# 切换远端分支地址
git config remote.origin.url git@111.111.16.240:eci/kolla_node_manager.git

分支管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看所有分支
git branch -a

# 创建分支
git branch <name>

# 切换分支
git checkout <branch name>

# 查看远端仓库
git remote -v

# 添加远端仓库
git remote add opendev https://opendev.org/openstack/trove.git

提交日志

1
2
# 查看历史提交记录
git log

参考文档