Kyleten

Kyleten

A running around noob, just wondering and wandering.

03 快速上手使用 Git 贰

承接 快速上手使用 Git 壹, 上文讲了 Git 初始化仓库,追踪文件的方法,本篇将会从 分支,远程仓库,变基与合并,最后会简单提及 stash 的使用场景和 GPG 认证

分支创建,切换,删除#

git branch
# 输出
* main

该命令可以查询当前仓库中的分支数和当前所处的分支 (main), git 初次提交后,会自动建立一个 master/main 分支

创建分支#

git branch dev
# 创建一个名为 dev 的分支, 但是不会切换至 dev 分支, 此时还在 main 分支

切换分支#

git checkout dev
# 将当前分支从 main 切换至 dev 分支, 也可以将这个步骤和上一步骤合并
git checkout -b dev1
# 直接创建 dev1 分支, 并切换至 dev1 分支

删除分支#

git branch -d dev1
# 删除名为 dev1 的分支

分支合并#

merge 和 rebase 是处理分支合并的两种不同的方法

合并#

# 以下演示使用 merge 合并
git checkout main
git merge dev

变基#

# 以下是 rebase 合并 dev 分支的方法
git checkout main
git rebase dev

小结#

merge 和 rebase 都是合并分支的方法,区别如下:

  • merge 合并是将两分支合并后并做一个 commit
  • rebase 是将两个分支完全合并成一个分支

图示如下:

merge

Mermaid Loading...

merge 适用于多人共同开发环境,比如使用 dev 分支开发一个新特性,最后使用 merge 来合并到 main 分支

rebase

Mermaid Loading...

rebase 适用于个人开发流程,如个人开发一个项目,为了提交记录整洁,使用 rebase 将所有提交记录保存至一个分支

远程仓库#

以 Github 为例

git remote add origin https://github.com/kyleten/ddd
# 将 url链接 以 origin 命名

在之后每次 commit 后可以使用

git push origin
# 将 commit 提交到远程仓库
# 第一次提交需要设置
git push -u origin

stash 使用场景#

在多人开发时,你正在开发一个功能 (功能没有开发完成,也不想 commit) 但是需要拉取远程仓库的更新时,需要使用 stash 将当前工作区保存

git stash -m 'stack1'
# 将当前内容暂存, 备注是 stack1

在完成后可以使用以下命令恢复工作区

git stash pop 
# 将最近的暂存恢复
# 也可以指定特定的编号, 先使用 list 查看编号
git stash list
# 输出
stash@{0}: On main: stack1
# 使用以下命令恢复
stash pop 0

GPG 签名#

具体创建密钥,安装软件,创建签名子密钥等内容本文章不涉及

在配置中添加#

git config --global user.signingkey xxxxxxxxx!
# 带 ! 是指定特定的子密钥, 只有一个密钥可以去掉 !
git config --global commit.gpgsign true
# 如果在 windows 中无法正常使用, 可以使用以下命令
git config --global gpg.program '到\bin\gpg.exe'
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。