红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Awalon
Talk is cheap,show me the code.
  1. 首页
  2. 开发工具
  3. 正文

Git 学习笔记 1:开始

2026年1月26日 3点热度 0人点赞 0条评论

初始化

先创建远程 Git 仓库,比如在 Github 上创建一个示例仓库:

https://github.com/icexmoon/learn-git

如果没有 Github 账号或者未安装 Git 命令行工具,可以参考这篇文章。

如果是新项目,可以通过 clone 命令将项目拉取到本地:

git clone git@github.com:icexmoon/learn-git.git

新建的目录与项目名称一致,如果已经存在同名目录,可以:

git clone git@github.com:icexmoon/learn-git.git learn-git2

如果本地已经存在开发中的项目代码,就会变得复杂一些。

先让代码接受 Git 管理:

cd D:\workspace\learn-git
git init

添加代码到暂存区:

git add .

提交到本地代码仓库:

git commit -m 'init'

为本地代码创建一个新的分支:

git branch init

切换到新分支:

git checkout init
git status

关联远程仓库:

git remote add origin git@github.com:icexmoon/learn-git.git

查看是否关联成功:

git remote -v

从远程仓库拉取代码:

git fetch --all

切换到主分支:

git checkout main

将本地的 init 分支合并进主分支:

git merge init --allow-unrelated-histories
  • 因为这里的 init 分支与主分支完全没有关系(初始化代码),所以这里必须使用--allow-unrelated-histories参数,否则会报错。

  • 如果有冲突需要处理冲突。

提交代码到本地 main 分支(如果有冲突并修改了代码):

 git commit -m 'merge init code'

推送到远程仓库:

git push

分支管理

查看当前本地仓库存在的分支:

git branch

这里有三个分支:

  • main

  • master

  • init

其中 main 是与远程仓库主分支 origin/main 关联的本地分支,init 是之前用于初始化代码创建的分支,master 是一个默认分支。

删除已经不需要的分支:

git branch -d init
git branch -d master

git branch -d只能用于删除已经合并到其它分支的分支,比如这里的init分支,否则会报错。如果要强行删除分支,无论目标分支有没有合并到其它分支,可以使用git branch -D,当然这很危险。

通常我们开发都需要一个主分支和一个开发分支。

从主分支创建一个开发分支:

git branch dev

请先确保已经切换到主分支,并且拉取了最新代码。

推送开发分支到远程仓库:

git push -u origin dev

这里的-u origin dev可以在远程仓库创建origin/dev分支,并与本地 dev 分支关联。

所有的功能开发和 bug 修复都可以基于开发分支创建对应的功能开发分支或 BUG 修复分支,比如:

 git branch feature/home_page
 git checkout feature/home_page
  • 操作前请确保当前已经处于开发分支,且拉取了最新代码。

  • 可以自行规定分支命名规则,比如功能开发使用feature/...,Bug 修复使用fix/...。

对应的新功能的开发和代码提交都可以在这个分支中进行,当然,为了避免本地出现问题导致的代码丢失,同样要定期推送到远程仓库保存:

git push -u origin feature/home_page

远程分支命名似乎有一定要求,这里如果是home_page就会报错,如果是feature/home_page则不会。

要发布代码前最好创建一个预发布分支,用于合并此次发布的功能或 BUG 修复,并进行充分测试:

git checkout main
git pull
git branch release/260122
git checkout release/260122

可以按照需要决定是否推送到远程仓库(比如多人协同合并代码或测试时间较长):

git push -u origin release/260122

所有需要在这个版本发布的功能和 bug 修复都可以合并到这个分支,并基于这个分支进行测试:

git merge feature/home_page
git push

测试无误后,将这个分支合并回主分支,并发布代码:

git checkout main
git pull
git merge release/260122
git push

成功发布后,之前的功能分支和预发布分支可以删除:

git branch -a
git branch -d feature/home_page
git branch -d release/260122
git push origin --delete feature/home_page
git push origin --delete release/260122

如果预发布分支的内容没有合并到开发分支中,此时可以从主分支合并回开发分支。

以上是通常的开发情况,如果是紧急修复,可以从主分支创建一个热修复分支:

git checkout main
git branch hot_fix/demo
git checkout hot_fix/demo
git push -u origin hot_fix/demo

可以基于这个分支进行测试,测试通过后直接合并回主分支并发布:

git checkout main
git pull
git merge hot_fix/demo
git push

同样的,可以在发布后将无用的分支删除:

git branch -a
git branch -d hot_fix/demo
git push origin --delete hot_fix/demo

参考资料

  • Git 使用教程:最详细、最正宗手把手教学

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: git
最后更新:2026年1月26日

魔芋红茶

加一点PHP,加一点Go,加一点Python......

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号