Git版本控制工具详解(下) ( 从零开始 、全网最细)

目录

Git pull & Git push

  • 初始化本地仓库
git init
  • 连接远程数据库
git remote origin(自定义命名) (仓库链接)
  • 设置上游跟踪标签
git branch --set-upstream-to=origin/master
  • 允许无关仓库合并
    如果您有两个独立的项目,并且想要将它们合并为一个项目,可以使用 --allow_unrelated_histories 选项来合并它们的分支。
git --allow_unrelated_histories
  • 获取远程仓库信息
git pull

常见的开源协议

在这里插入图片描述

标签 ( tag )

创建本地标签

git tag v1.0
git tag -a v1.1 -m "附录信息"

远程标签
在创建完标签后你必须显式地推送标签到共享服务器上,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签;

git push origin v1.0

删除本地标签

git tag -d 1.1

删除远程标签

git push origin --delete v1.1

检出tag
如果你想查看某个标签所指向的文件版本,可以使用 git checkout 命令;

git checkout v1.0

分支

$ git commit -m "c1"
$ git commit -m "c2"
$ git commit -m "c3"

上面的命令会创建三个commit节点,此时master分支如下图所示:
在这里插入图片描述

创建并且切换到分支

git checkout -b feature/a  # 这里的 feature/a 为分支名字

提交

$ git commit -m "c4"
$ git commit -m "c5"

在这里插入图片描述
快速合并和非快速合并
当功能分支开发完成后,需要合并回主分支,合并回主分支有两种选择,快速合并和非快速合并,二者的区别在于是否创建提交节点,命令如下:

$ git merge feature/a # 快速合并
$ git merge --no-ff feature/a # 非快速合并

快速合并
在这里插入图片描述
非快速合并
在这里插入图片描述
两种合并方式都可以,如果选择快速合并,需要保证每个提交都是独立且完整的,如果不满足要求,Git 支持修改提交历史,需要修改后再次合并。

rebase 用法

$ git checkout feature/a # 切换到 分支
$ git rebase master  # 把分支接到 master 指向的对象
$ git checkout master
$ git merge feature/a

在这里插入图片描述

在这里插入图片描述

Git 合并场景

在创建当前分支之后,主分支可能又有新的提交,如下图所示:
在这里插入图片描述
在合并之前,建议先将主分支新的提交合并到当前分支,有两种策略可以选择,
合并和变基,合并操作更简单,变基操作提交树更清晰,建议使用变基的方式。

合并方式
$ git merge master
$ git checkout master
$ git merge feature/a
  1. git rebase master:这个命令将当前分支的提交重新应用到名为"master"的分支上。它将把当前分支上的更改合并到"master"分支上,并创建新的提交来代替原来的提交。
  2. git checkout master:这个命令将切换到名为"master"的分支。它会让你进入"master"分支的工作目录,以便在该分支上进行进一步的操作。
  3. git merge feature/a:这个命令将"feature/a"分支上的更改合并到当前分支(即"master"分支)上。它将把"feature/a"分支上的提交合并到"master"分支上。

合并操作后的提交树如下图所示:
在这里插入图片描述

变基方式
$ git checkout feature/a # 切换到 分支
$ git rebase master  # 把分支接到 master 指向的对象
$ git checkout master
$ git merge feature/a

变基操作后的提交树如下图所示,虚线的提交是feature/a变基之前的状态
在变基后,虚线的提交不再有分支指向,但并不会删除,而是变成Git中的游离节点
在Git执行GC(垃圾清理)操作后,节点才会彻底删除。
在这里插入图片描述

参考

codewhy
掘金

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值