likes
comments
collection
share

快速上手Git之基础命令

作者站长头像
站长
· 阅读数 14

沉淀一下平时经常用到的一些git的基础命令,形成一套操作流,这样子熟练之后,就可以无脑使用git了😊

ps: 本文主要总结的是merge request工作流

1. clone指定分支到本地

一般在开发之前,都会clone远程仓库中的某一条指定分支到本地,再在这个分支上做修改。因此,第一步就是要clone指定分支到本地。


git clone -b release-2.7 git@github.com:kubernetes-sigs/kubespray.git

-b 后边接的就是指定的分支名。

2. 创建新的分支

在clone指定分支到本地之后,我们就需要基于这个分支,创建我们自己的分支,并在上面进行开发。

git checkout -b feat/xxx

同样,-b后面接的就是你要创建的新的分支名。

在软件开发过程中,通常会有几种固定类型的分支,同时每种分支会有固定类型的前缀命名。我们鼓励每Feature branch种分支的命名约定并固化下来。

development branch特性的集成分支,通常是默认分支或固定的命名分支。常见于 PR 工作流,通常会作为 feature branch 合入的目标分支。master or develop
production branch用于部署发行版本。通常会从 development branch 拉出分支,开发完还会 merge 回去。常见 git flow 工作流。varies
feature branch用于特定功能工作或改进,通常会从 development branch 拉出分支,开发完还会 merge 回去。常见 git flow 工作流。feature
release branch用于发布任务和长期维护版本。 通常会从 development branch 拉出分支,开发完还会 merge 回去。一般 release branch 使用 语义化版本 维护,提供自动合入,自动将变更合并到较新的版本的中,减少对分支的手动维护。release
release branch 通常用于修复 Release branchbugfix
hotfix branch 通常用于快速修复 production branch,而不会将变更引入到 development branch 中。hotfix

3. 提交修改

在本地完成代码的修改之后,需要提交到本地代码仓库。

依次执行以下的命令:

  • 查看当前代码状态,可以看到哪些文件发生了修改
git status
  • 提交到本地暂存区, . 表示提交所有修改
git add .
  • 提交到本地的代码仓库,需要加上一些文字说明,说明自己修改了什么
git commit -m "feat: xxx "

4. git rebase操作

等一切都修改到满意,就可以考虑将这个 MR 合并到主干了。

如果这个 MR 包含很多次 commits,你想将这些 commits 整理一下,比如合成一个 commit,可以通过 git rebase 来实现

记得把目标分支(origin/master)作为 rebase 的起点就行了

git rebase -i origin/master

git rebase的时候,指定首行的commit作为选定的commit,其他的commit设置为s,即跟随的意思。

pick e7ba81d Commit-1

s 5756e15 Commit-2

s b1b8189 Commit-3

5. 提交到远程仓库

到了这一步,就需要将修改从本地仓库提交到远程仓库中,然后再进行后续的操作,包括merge进指定分支等。

如果是第一次提交该分支到远程仓库,远程 GitLab 上还没有你的分支,所以:

 git push --set-upstream origin 你新建的分支名字     // 按照前面说的,这里的分支名字就应该是dev

非首次提交,则直接用git push即可。

如果是已经执行了git rebase操作,则需要强制提交,使用

git push -f

6. 提交merge request

提交merge request 建议在github或者gitlab的页面上直接提交,提交之前记得code review。

7. 其他

  1. 每次开发之前,记得使用git pull拉取远端的最新代码,避免之后合并代码时出现冲突。
  2. 取消commit
$ git commit -m "Something terribly misguided"             # (1)

$ git reset HEAD~                                          # (2)

<< edit files as necessary >>                              # (3)

$ git add ...                                              # (4)

$ git commit -c ORIG_HEAD                                  # (5)

————————————————————————————————————————————————————

本文总结了Git 常见的一些基本命令,能够覆盖日常的开发工作,如果严格按照这个流程进行代码的提交,合并,基本上不会出现什么问题,但是一旦出现了代码冲突等问题,光靠这些基本命令可远远不够。

最后补充一些git的参考资料: