每个 QA 工程师都应该知道的 20 个 Git 基本命令

开发 前端
本文列出了 QA 人员/开发人员应该了解的最基本的命令,以便在高层次上掌握 GitHub 存储库的管理。

在本文中,我们将讨论 Git。Git 是一个版本控制系统,一个跟踪代码更改并与他人共享这些更改的工具。本文列出了 QA 人员/开发人员应该了解的最基本的命令,以便在高层次上掌握 GitHub 存储库的管理。再次复习基本的日常命令对初学者和有经验的用户都有用。

在 Git 中设置用户名

需要用户名才能将提交绑定到您的名字。这与用于登录 GitHub 配置文件的 GitHub 帐户用户名不同。git config您可以使用命令设置或更改用户名。新名称将自动显示在通过命令行推送的后续提交中。

git config --global user.name "Michael Scott"

您还可以使用命令更改与您的 git 提交关联的电子邮件地址git config。新的电子邮件地址将自动显示在所有通过命令行提交到 GitHub 的未来提交中。

git config --global user.email "michael.scott@dundermifflin.com"

凭据缓存

可以使用带有标志的config选项来缓存凭据。--global这有助于您在创建新提交时无需手动输入用户名和密码。有助于将密码临时存储在内存中。

git config --global credential.helper cache

设置存储库

创建一个空的 Git 存储库或重新初始化一个现有的。执行git init会在当前工作目录中创建一个 .git 子目录,其中包含新存储库所有必需的 Git 元数据。此元数据包括对象、引用和模板文件的子目录。

git init

将文件添加到暂存区

该git add命令将工作目录中的新文件或更改的文件添加到 Git 暂存区。

添加somefile:

git add somefile.js

添加所有文件:

git add .

回购状态检查

该git status命令显示工作目录和暂存区的状态。它可以让您查看哪些更改已暂存,哪些尚未暂存,以及哪些文件未被 Git 跟踪。

git status

拍摄变化快照

记录对存储库的更改。此命令用于将更改保存到本地存储库。它可以与一些 git 键一起使用,例如:

  • - m向您的提交添加一条消息
  • - a将所有文件暂存到您的提交
  • --amend使用任何当前暂存的更改或新的提交消息重写最后一次提交
git commit -m "Commit message"git commit --amendgit commit --amend -m "New message"

检查 Git 历史

显示提交日志。此外,作为 Git 用户,您可以通过向git log命令添加一些键以更高级的方式使用该git log命令。

git log

使用oneline标志将每个提交显示为一行:

git log --oneline

shortlog按作者对每个提交进行分组并显示每个提交消息的第一行:

git shortlog

该--graph选项绘制一个 ASCII 图,表示提交历史的分支结构。这通常–oneline与–decorate命令结合使用,以便更容易地查看哪个提交属于哪个分支:

git log --graph --oneline --decorate

您还可以限制提交日志输出的次数:

git log -5

支持过滤 git 历史记录,例如按日期、作者、文件或消息:

git log --after="yesterday" --before="2022-10-10"git log --author="Michael"git log -- somefile.jsgit log -S "fix"

显示变化

git diff显示提交、提交和工作树之间的变化。

git diff

指定文件名以显示其文件正在进行的更改:

git diff somefile.js

显示分支 master 和 develop 之间的变化:

git diff master..develop

文件重命名

您可以使用命令重命名文件或文件夹mv。您应该指定源路径和目标路径。源是实际文件或文件夹,目标是现有文件夹。

git mv directory1/somefile.js directory

分支特征

一个分支代表一条独立的开发线。分支作为编辑/暂存/提交过程的抽象。该git branch命令允许您创建、列出、重命名和删除分支。

要创建一个新分支:

git branch branch_name

您也可以将一些键传递给git branch命令:

  • git branch -m <branch>重命名当前分支
  • git branch -d <branch>删除本地分支
  • git push origin --delete <branch>将更改推送到远程通知删除分支到远程原始存储库(需要与上一个命令一起使用)
  • git branch -a显示所有分支的列表

撤消文件更改

git restore命令有助于取消暂存甚至丢弃未提交的本地更改。该命令可用于撤消您之前添加的 git add 和 unstage 更改的影响。它还可用于丢弃文件中的本地更改,从而恢复其上次提交的状态。

git restore somefile.jsgit restore --staged index.js

使用远程命令

git remote管理一组被跟踪的远程存储库。

显示所有远程连接的列表:

git remote -v

要更改远程 URL:

git remote set-url <url> <new_url>

要重命名当前连接,可以使用下一个命令:

git remote rename <old_name> <new_name>

要删除连接:

git remote remove <remote_name>

将更改保存到剪贴板

git stash将更改隐藏在脏工作目录中。此命令获取您未提交的更改(暂存的和未暂存的)并将它们保存起来以备后用。

git stash

可以将几个键添加到命令中:

  • git stash隐藏跟踪文件
  • git stash -u隐藏未跟踪的文件
  • git stash -a隐藏所有文件(包括忽略的文件)

该stash命令将您的更改保存到某种更改列表中,您可以使用以下方法访问它:

git stash list

此外,您可以向您的藏匿处添加一条消息,使用git stash save "message"命令对其进行注释:

git stash save "some comment"

此外,它还支持查看存储差异:

git stash show

要应用存储保存的更改(它将应用存储列表中的最后一个存储):

git stash apply

并能够清除所有藏匿处:

git stash clear

标记

git tag标记存储库历史记录中的特定点。

git tag v1.1

要访问标签列表,请使用git tag -l. 要删除,只需传递特定的 key git tag -d v1.0。列出远程标签:git ls-remote --tags. 要重新标记(现有标记的重命名),只需使用 force key: 发送git tag -f v1 v1.1,在这种情况下我们v1使用 new重命名v.1.1。

获取最新的远程更改

要获取本地的最新更改,有两个 git 命令:git pull和git fetch. 它们之间的主要区别在于git fetch将下载远程内容但不会更新本地存储库的工作状态,从而使您当前的工作保持不变。我个人使用git fetch带键的命令--prune,这是清理过时分支的最佳实用程序。在获取之前,删除遥控器上不再存在的任何远程跟踪引用。git pull相反,将为活动的本地分支下载远程内容,并立即执行合并到您的文件。也git pull可以与 rebase 公共键一起使用:git pull -r拉和变基。

撤消更改并恢复丢失的提交

git cherry-pick用于此目的。git 中的 Cherry-picking 意味着您从一个分支中选择一个提交并将其应用到另一个分支。通常在开发团队中,这用于发布阶段的快速错误修复(修补程序),或者当需要应用未合并的提交时。要使用此命令,您应该通过提交 sha。

撤消上次提交

在 git 中,有两种方法可以撤消最后的更改:git revert和git reset. git revert命令创建一个新的提交,撤消先前提交的更改。此命令向项目添加新的历史记录。git reset用于撤消工作目录中尚未提交的更改。重置命令可以与参数--soft, --mixed,一起使用--hard。默认情况下,Git 使用 reset with --mixedkey (uncommit + unstage changes)。开发人员经常使用的是--hard选项(uncommit + unstage + delete changes)。当通过--hard提交历史 ref 指针时,将更新为指定的提交。--soft如果您想取消提交更改,这是一种更准确的方法,在这种情况下,更改将暂存。

例如,要在 git 上将文件硬重置为 HEAD:

git reset --hard HEAD

在提交或分支之间切换

git checkout使用命令。您可以在提交和分支之间切换,只需将 branch_name/commit_sha 传递给git checkout命令即可。此外,您可以使用 checkout 命令创建新的不存在的分支,它将创建新分支并切换到它:

git checkout -b new_branch

要检查一些提交,其中 5939515 是提交 sha:

git checkout 5939515

找到破坏某些东西的提交

git bisect是你的朋友——Git 中一个非常强大的命令,它有很大帮助。它用于将两个提交指向边缘情况,然后重新传递这两个点之间的所有提交历史记录(如果存在某些特定的失败,则逐个提交标记)。要使用,首先,您应该开始使用工具进行初始化:

git bisect start

然后我们应该将两个边缘情况标记为坏点和好点:

git bisect badgit checkout commitgit bisect good

通过提交你可以很容易地找到错误的提交,可能引入了一些错误/错误。

显示谁对所选文件进行了更改

git blame命令用于此。主要目的是显示所选文件的日志,显示谁以及何时对此文件进行了更改。

git blame somefile.js

这将显示对该文件所做的提交、作者、日期和提交消息的列表。该命令可用于传递一些键,例如-e在日志中显示作者的电子邮件地址,-L 1-7以限制和仅显示 7 行输出。git blame和之间的主要区别在于git log,blame可以告诉您最后修改每行代码的人是谁以及何时。

责任编辑:华轩 来源: 今日头条
相关推荐

2022-09-11 15:20:05

程序员命令开发

2023-09-14 10:20:56

前端布局自适应

2018-05-03 08:45:58

Linux命令

2019-05-21 16:19:46

前端性能优化图片

2023-03-08 15:13:32

Git工具开发

2021-04-08 10:15:46

数据工程师数据库数据科学家

2022-11-25 08:16:07

2012-10-11 10:32:48

Linux命令程序员

2016-06-22 09:30:58

Linux命令新手

2023-04-10 14:45:43

2023-03-21 18:46:53

2017-04-05 12:04:17

python函数

2020-01-14 08:28:50

Linux命令程序

2014-03-07 14:20:30

2018-03-07 12:57:53

2012-02-28 10:52:13

2013-06-25 10:47:21

软件工程师软件开发开源项目

2023-11-17 14:18:48

开发编程

2011-11-08 15:42:18

Linux操作系统

2023-11-27 15:49:55

软件开发系统设计
点赞
收藏

51CTO技术栈公众号