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 远程仓库地址
相关推荐
晓理紫8 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿9 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git
_OLi_16 小时前
IDEA中新建与切换Git分支
java·spring boot·git
PyAIGCMaster20 小时前
ubuntu下安装 git 及部署cosyvoice(1)
git
维__kxs766721 小时前
小程序 + AI 自动直播:一部手机开启抖音挂载小程序流量主变现之旅
git·eclipse
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 天前
GIT GUI和 GIT bash区别
开发语言·git·bash
zhuyan1081 天前
【git】使用记录
git
KrisZhang101 天前
Git分支
git·1024程序员节
孤影&碧空1 天前
书生大模型第三关Git 基础知识
git
code .1 天前
git使用的一般流程
git