前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每个 Tester 都应该知道的 Git 命令

每个 Tester 都应该知道的 Git 命令

作者头像
RiemannHypothesis
发布2022-11-05 16:57:03
1.7K0
发布2022-11-05 16:57:03
举报
文章被收录于专栏:Elixir

本文是一个 Git 速查表,包含了可能每天使用的最常见的 Git 命令。

如果你是与开发人员一起工作的测试人员,你更应该熟悉基本的 Git 命令。

本文包含了作为一名 QA 需要掌握的 Git 知识点。

如果你的机器上没有安装Git,可以查看这篇文章 How to Install Git on Mac and Generate SSH Keys.

Git 初始化

初始化代码仓库

创建一个空的 Git 仓库或者重新初始化一个已存在的

代码语言:javascript
复制
git init

克隆代码仓库

foo 仓库克隆到一个名为 foo 的新目录中:

代码语言:javascript
复制
git clone https://github.com/<username>/foo.git foo

Git 分支

如何在 Git 仓库中创建一个新的分支

当您想开发一个新需求时,通常会在 Git 中创建一个新分支。可以远离主分支,处理自己的需求分支,这样 master 分支总是干净的。

要创建新分支

代码语言:javascript
复制
git checkout -b <new_branch_name>

如何在获取 Git 中所有分支

如果您想知道工作目录中有哪些分支可用,请使用:

代码语言:javascript
复制
git branch

输出示例:

代码语言:javascript
复制
develop
my_feature
master

如何在 Git 中切换分支

创建新分支时,Git 会自动切换到新分支。

如果您有多个分支,那么可以使用 git checkout 轻松切换分支:

代码语言:javascript
复制
git checkout master
git checkout develop
git checkout my_feature

如何在 Git 中删除分支

要删除本地分支:

代码语言:javascript
复制
git checkout -d<local_branch>

使用 -D 参数强制执行删除。

如果要删除源上的远程分支,请执行以下操作:

代码语言:javascript
复制
git push origin :<remote_branch>

相关文章:

Git 暂存

暂存文件只是为提交做准备。当你添加或修改一些文件时,你需要将这些更改放到 Git 的“暂存区”。”暂存区“就像一个盒子,你把东西放在里面,然后再把这个盒子放在床下,而你的床是一个储存库,里面存放着你以前放过的盒子。

Git 暂存区文件

要往暂存区添加文件,可以使用 git add 命令。可以暂存单个文件:

代码语言:javascript
复制
git add foo.js

或一次添加所有文件:

代码语言:javascript
复制
git add .

Git 撤销暂存

如果要从暂存区中删除某个文件:

代码语言:javascript
复制
git reset HEAD foo.js

或删除所有暂存文件:

代码语言:javascript
复制
git rest HEAD .

您还可以为命令创建别名,然后将其与 Git 一起使用:

代码语言:javascript
复制
git config --global alias.unstage 'reset HEAD'
git unstage .

Git 状态

如果您想查看哪些文件已被创建、修改或删除,可以通过 git status 查看。

代码语言:javascript
复制
git status

Git 提交

经常提交是一个好习惯。你总是可以在推送之前合并你的提交。在提交之前,需要将文件添加到暂存区。

commit 命令需要指定 -m 选项。

您可以像这样提交:

代码语言:javascript
复制
git commit-m “更新内容描述”

撤消提交

以下命令将撤消您最近的提交,并将这些更改放回暂存区,这样您就不会丢失任何内容:

代码语言:javascript
复制
git reset --soft HEAD~1

要完全删除提交并删除所有更改,请使用:

代码语言:javascript
复制
git reset --hard HEAD~1

合并提交

假设您有4个提交,但您还没有向仓库推送任何内容,并且您希望将所有内容放入一个提交中,那么您可以使用:

代码语言:javascript
复制
git rebase -i HEAD~4
  • HEAD~4指的是最后四次提交。
  • -i选项打开一个交互式文本文件。

您将在每次提交的左侧看到“pick”一词。保留顶部的一个,并将所有其他的替换为“s”以进行挤压,保存并关闭文件。

然后打开另一个交互式窗口,您可以在其中将提交消息更新为一个新的提交消息。

Git 推送

在提交更改后,下一步是推送到远程仓库。

第一次推送

首次推送本地分支:

代码语言:javascript
复制
git push --set-upstream origin <branch>

之后,您可以使用

代码语言:javascript
复制
git push

将本地分支推送到不同名称的远程分支

要将本地分支推送到其他远程分支,可以使用:

代码语言:javascript
复制
git push origin <local_branch>:<remote_branch>

撤消上次推送

如果您必须撤消上一次推送,可以使用:

代码语言:javascript
复制
git reset --hard HEAD~1 &amp;&amp; git push -f origin master

Git 获取

当使用 git fetch 时,git不会将其他提交与当前分支合并。如果您需要使存储库保持最新,但正在处理可能会在更新文件时损坏的内容,这一点尤其有用。

要将提交集成到主分支中,可以使用merge。

获取远程仓库更新

代码语言:javascript
复制
git fetch upstream

Git 拉取

拉取只是执行一次提取,然后执行一次合并。当使用 git pull 时,git 会自动合并其他提交,而不是查看它们。如果不密切管理分支,可能会遇到冲突。

拉取一个分支

如果您有一个名为 my_feature 的分支,并且希望拉取该分支,可以使用:

代码语言:javascript
复制
git origin/my_feature

拉取全部内容

或者,如果你想把所有的东西和所有其他的分支都拉取出来

代码语言:javascript
复制
git pull

Git 合并和变基

当运行 git merge时,HEAD 分支将生成一个新的提交,保留每个提交历史。

重新基础将一个分支的更改重新写入另一个分支,而不创建新的提交。

将主分支合并到指定分支

代码语言:javascript
复制
git checkout my_feature
git merge master

或者使用 rebase 选项,您可以使用:

代码语言:javascript
复制
git checkout my_feature
git rebase master

将指定分支合并到主分支

代码语言:javascript
复制
git checkout master
git merge my_feature

Git Stash

有时您在一个分支上进行更改,并希望切换到另一个分支,但不希望丢失更改。

你可以把这些更改隐藏起来。执行如下命令可以在Git中隐藏更改:

代码语言:javascript
复制
git stash

现在,如果您想取消隐藏这些更改并将其带回工作目录,请使用:

代码语言:javascript
复制
git stash pop

本文翻译自 https://devqa.io/git-cheat-sheet-for-testers/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git 初始化
    • 初始化代码仓库
      • 克隆代码仓库
        • Git 分支
          • 如何在获取 Git 中所有分支
            • 如何在 Git 中切换分支
              • 如何在 Git 中删除分支
              • Git 暂存
                • Git 暂存区文件
                  • Git 撤销暂存
                  • Git 状态
                  • Git 提交
                    • 撤消提交
                      • 合并提交
                      • Git 推送
                        • 第一次推送
                          • 将本地分支推送到不同名称的远程分支
                            • 撤消上次推送
                            • Git 获取
                              • 获取远程仓库更新
                              • Git 拉取
                                • 拉取一个分支
                                  • 拉取全部内容
                                  • Git 合并和变基
                                    • 将主分支合并到指定分支
                                      • 将指定分支合并到主分支
                                      • Git Stash
                                      领券
                                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档