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 远程仓库名 [email protected]: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 远程仓库地址
相关推荐
DZSpace26 分钟前
git stash命令用法
git
Vowwwwwww32 分钟前
GIT历史存在大文件的解决办法
前端·git·后端
@BreCaspian1 小时前
Git 推送失败解决教程——error: failed to push some refs to
大数据·git·elasticsearch
该换个名儿了5 小时前
git多个commit合并成一个
前端·git
不爱学英文的码字机器5 小时前
[Git] 分布式版本控制 & 远程仓库协作
分布式·git
Stack_guigui6 小时前
git连接本地仓库以及gitee
git·gitee
火车叼位6 小时前
Git 精准移植代码:cherry-pick 简单说明
前端·git
Cynthia-石头10 小时前
Git Github Gitee GitLab
git·gitee·github
ak啊1 天前
Git 撤销操作完全指南:从工作区到远程仓库的救赎之路
git
小_路1 天前
git 常用命令
git