Git 用法

基本介绍

版本控制工具用处:

  • 备份
  • 代码还原
  • 协同开发
  • 追溯

版本控制工具

1、集中式版本控制工具

版本库是集中存放在中央服务器的,team 里每个人 work 时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。

举例:SVN 和 CVS

2、分布式版本控制工具

分布式版本控制系统没有"中央服务器",每个人的电脑上都是一个完整的版本库,这样工作的时候,不需要联网,因为版本库就在自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了

举例:Git

工作流程

2 常用命令

2.1 获取本地仓库

2.2 基础操作指令

Git 工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行 Git 的命令而发生变化:

git add (工作区 --> 暂存区)

bash 复制代码
touch newtext.txt

新建文件(linux指令)

bash 复制代码
git add .

所有工作区的文件 添加到 暂存区

现在是待提交状态

git commit (暂存区 --> 本地仓库)

bash 复制代码
git commit -m "wyn01"

查看状态

git log查看提交日志

命令形式:git log [option]

options:

  • --all 显示所有分支
  • --pretty=oneline 将提交信息显示为一行
  • --abbrev-commit 使得输出的commitId更简短
  • --graph 以图的形式显示

注:按 q 键退出

2.3 版本回退

git reset --hard commitID

commitID 可以使用 git log 指令查看

3 分支

几乎所有的版本控制系统都以某种形式支持分支。 使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线

3.1 查看本地分支

bash 复制代码
git branch

3.2 创建本地分支

bash 复制代码
git branch 分支名

3.3 切换分支

bash 复制代码
git checkout 分支名

在新的分支中加新的文件 secondtext.txt

回到主分支,新文件没了

另外,还可以直接切换到新的分支(创建):

sql 复制代码
git checkout -b 分支名

3.4 合并分支

bash 复制代码
git merge 分支名称

在分支【master】里面文件写

a=1;

b=2;

printf(a+b);

在分支【branch01】里面文件写

a=1;

b=2;

printf(a*b);

然后合并

有冲突

a=1;

b=2;

<<<<<<< HEAD

printf(a+b);

=======

printf(a*b);

>>>>>>> branch01

需要手动处理,然后 git add、git commit 提交

3.5 删除分支

不能删除当前分支,只能删除其他分支

删除分支时,需要做各种检查

bash 复制代码
git branch -d 分支名

不做任何检查,强制删除

bash 复制代码
git branch -D 分支名

3.6 开发中分支使用原则与流程

  • master (生产) 分支

线上分支,主分支,中小规模项目作为线上运行的应用对应的分支

  • develop(开发)分支

是从 master 创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完成后,需要是合并到 master 分支,准备上线

  • feature/xxxx分支

从 develop 创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到 develop 分支

  • hotfix/xxxx分支

从 master 派生的分支,一般作为线上 bug 修复使用,修复完成后需要合并到 master、test、develop 分支

还有一些其他分支,在此不再详述,例如 test 分支(用于代码测试)、pre 分支(预上线分支)等等

4 GitHub

4.1 添加 SSH key

4.2 创建 github repository

获取项目的仓库地址

在 git bash 里面:

bash 复制代码
git remote add 远程仓库名 git@github.com:RainNan/test.git

git remote

用于查看远程仓库

4.3 Push & Pull

push

将本地仓库的更改推送到远程仓库

bash 复制代码
git push origin master

pull

用于从远程仓库拉取最新的更改并合并到本地仓库

bash 复制代码
git pull origin master

4.4 clone

bash 复制代码
git clone 远程仓库地址
相关推荐
yylの博客1 小时前
Windows通过git-bash安装zsh
windows·git·bash·zsh
丁总学Java2 小时前
(Z Shell)zsh: no matches found: ? 使用单引号包裹
git·zsh
萌狼蓝天2 小时前
【NAS】绿联NAS+极狐Gitlab+1Panel
git
deja vu水中芭蕾8 小时前
git push origin HEAD:refs/for/分支名
git
海岛日记12 小时前
git常用操作
git
喝鸡汤12 小时前
一起学Git【番外篇:如何在Git中新建文件】
git
“αβ”12 小时前
Windows下使用git配置gitee远程仓库
git
谢家小布柔17 小时前
Git图形界面以及idea中集合Git使用
java·git
winner888118 小时前
git merge 冲突 解决 show case
java·git·git merge·git冲突
玩电脑的辣条哥1 天前
怎么给git动图扣除背景?
git·抠图