Git的正确使用姿势与最佳实践 | 豆包MarsCode AI刷题

73 阅读3分钟

一般工作流程如上

常用操作:

1.1 暂存:

git add <path>

1.2 提交:

git commit

1.3 拉取、拉取合并

git fetch

将远端仓库数据拉取到本地仓库,主要是 将远程仓库所包含分支的最新commit-id记录到本地文件

比如,远端的数据比本地多两个版本,fetch会将最新版本的版本ID写到本地仓库,但是,远端的文件修改并没有拉取到工作区(workspace) ,它只是拉取最近提交的信息出来,通过这个可以让我们知道本地比远端落后几个版本。git fetch通常很少去使用,因为在实际使用中会使用一个有GUI的客户端工具,并不需要敲命令。这里介绍git fetch命令以及其他命令主要是为了了解 Git 的工作流程

1.4 推送:

git push

用于将本地仓库中的更改推送到远程仓库

推送到指定的远程仓库和分支:

git push origin main

推送所有本地分支:

git push --all

推送所有标签(tags):

git push --tags

  • rejected ****错误:通常是因为远程分支比本地分支有更新,可能需要先拉取远程更改并解决冲突。
  • non-fast-forward ****错误:通常需要进行合并或变基操作。
git pull --rebase
git push

1.5 查看状态:git status

git status 是 Git 中一个非常有用的命令,用于显示当前工作目录和暂存区的状态。这有助于了解哪些文件被修改了、哪些文件被暂存了、以及哪些文件是未跟踪的。

1.6 查看历史:git log

2.逆向操作

3.本地仓库整理操作

4.分支操作

版本管理的标准流程:

Master : 稳定压倒一切,禁止尚 review 和测试过的代码提交到这个分支上,Master上的代码是可以随时部署到线上生产环境的。

Develop :开发分支,我们的持续集成工作在这里,code review过的代码合入到这里,我们以下要讲的BUG fix和feature开发都可以基于develop分支拉取,修改完之后合入到develop分支。

Feature :功能开发和change request的分支,也即我们每一个feature都可以从devlop上拉取一个分支,开发、review和测试完之后合入develop分支。

Hotfix :紧急修改的分支,在master发布到线上出现某个问题的时候,算作一个紧急布丁。从master分支上拉取代码,修改完之后合入develop和master分支。

Release :预发布分支,比如0.1、0.2、1.12版本,我们一般说的系统测试就是基于这些分支做的,如果出现bug,则可以基于该release分支拉取一个临时bug分支。

Bug : bug fix的分支,当我们定位、解决后合入develop和Release分支,然后让测试人员回归测试,回归测试后由close这个bug。

4.2 查看分支

git branch

创建分支有两种方式:

git branch 分支名
git checkout -b 分支名

切换分支也有两种方式:

git checkout 分支名
git switch 分支名

合并分支有两个命令:

  • git merge

  • git rebase,不推荐使用。git rebase不仅可以合并提交,还可以合并分支