前 20 个 GIT 命令开始
已发表: 2020-06-10您可能知道,GIT 是一个分布式版本控制系统。 工程师使用它来跟踪在软件开发过程中对源代码所做的更改。 如果您是一名开发人员,尤其是刚刚进入该行业,您必须学习一些更有用的 GIT 命令。
让我们看看您应该学习的最佳 GIT bash 命令。
- 设置项目:GIT 提示的解释
- 初始化
- 配置
- 克隆
- 别名
- 执行和撤消更改的命令
- 地位
- 添加
- 犯罪
- 重置
- 藏
- 恢复
- 团队协作的 Git 命令
- 分支
- 签出
- 拉
- 犯罪
- 推
- 合并
- 变基
- 提交命令后
- 日志
- 展示
设置项目:GIT 提示的解释
为您推荐: 5 款出色的免费应用程序,可帮助您学习如何编码。
初始化
假设您刚刚在您最喜欢的 IDE 中创建了一个项目,并且您需要了解 PowerShell GIT 提示。 您必须设置一个可用的 GIT 存储库。
当您这样做时,您必须告诉 GIT 应该使用和运行哪个目录。 git init功能就是你将如何做到这一点。 GIT 会创建一个隐藏的。 git 目录并使用它来保持其文件组织为其他子目录。
以下是下一个流行编辑器的git init命令列表:
原子 | git config –global core.editor “atom –wait” |
---|---|
BBEdit(Mac,带命令行工具) | git config –global core.editor “bbedit -w” |
编辑器 (Linux) | git config –global core.editor “gedit –wait –new-window” |
记事本(Windows 64 位) | git config core.editor 记事本 |
记事本++(Windows 64 位) | git config –global core.editor “'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin”(另请参见下面的注释) |
从头开始(Linux) | git config –global core.editor “scratch-text-editor” |
崇高的文本(macOS) | git config –global core.editor “/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl –new-window –wait” |
崇高文本(Windows 64 位) | git config –global core.editor “'C:\Program Files\Sublime Text 3\sublime_text.exe' -w”(另请参见下面的注释) |
维姆 | git config –global core.editor “vim” |
视觉工作室代码 | git config –global core.editor “code –wait” |
配置
创建存储库后,您可能会在其中配置一些基本元素,例如设置用户名。 这就是您需要 CONFIG 命令的原因。 GIT 列表的任何命令都将包含它。
您可以通过执行以下命令来设置您的用户名:
git config user.name=<replace_with_your_username>.
这会将用户名放在附近的存储库中。 但是请注意,之后如果要创建第二个存储库,则必须再次设置用户信息。
如果添加全局命令选项,则不需要执行此操作。 它将全局设置您的信息:
git config --global user.name=<replace_with_your_username>.
您还可以使用 CONFIG 命令来配置其他方面。 您可以将命令放在配置文件中。
克隆
要在远程计算机上获取存储库,您必须设置 CLONE 命令。 您可以使用git clone设置并通过将 URL 作为参数传递来执行此操作。 此命令应在您的计算机中克隆整个远程存储库。 这是另一个 GIT 中心命令,可以很好地为开发人员提供服务。
$ git clone git://git.kernel.org/pub/scm/git/git.git
别名
使用 ALIAS 命令,您可以为您最喜欢的命令创建快捷方式。 它是一种工具,可帮助您包装一系列命令并将它们保存在一个名称下。 这将被视为您作为开发人员经常使用的常见 GIT 命令之一。
您还可以在配置文件中添加别名。 在这种情况下,示例中的指令将在全局配置文件中变成以下配置。 例如,您可以为最常用的命令设置下一个快捷方式:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
执行和撤消更改的命令
地位
如果您想显示暂存区域的状态和您的工作配置,则可以使用此命令。 通过使用它,您可以查看已经上演了哪些改动,哪些还没有。
添加
在提交修改后的文件或新文件之前,必须将其添加到暂存区。 通过运行git add指令来执行此操作。 您必须将文件名和目录名作为参数传递。 您可以输入 f_your_file>。 届时,您的文件将从“待提交的更改”列表中删除。
添加 -p(或 —patch)允许您选择要提交的每个跟踪文件的部分。 然后每个提交只包含相关的更改。
犯罪
假设您已经完成了一些功能实现,并且您想要保存更改。 查看“要提交的更改”列表。 完成后,您就会知道所有需要的文件都已暂存。 那是你可以执行git commit的时候。
执行此命令后,将打开默认编辑器。 然后您应该输入您的 COMMIT 消息。
如果您的消息很短,请将其包含在 GIT COMMIT 命令中,如下所示:
git commit -m “Your_first_commit_message.”
您还可以添加 -a 选项。 通过这样做,您可以确保 GIT 将查看您的工作树。 然后它将对新文件和修改后的文件执行 GIT ADD,并在提交之前对任何已删除的文件执行git rm 。
也许您忘记将文件添加到您的提交中。 您不想为该文件创建另一个提交命令。 您可以改用修改选项。
永远不应修改公开提交。 请记住,您的同事可能已将他们的工作基于该提交。 您不想因为他们所做的任何更改而混淆他们。
重置
git reset是另一个工具,在您开始作为开发人员的工作生活时应该对您很方便。 这是一个帮助您重新格式化更改的命令。 它有多种使用方式,但一个常见的例子是当您提供模式和提交标识时,就好像有参数一样,如下所示:
git reset <mode> <commit>.
有多种重置可能性。 要理解它们,您应该了解三棵 GIT 树。
- Mixed 是使用 GIT RESET 的默认调用。 它使用混合选项以及 HEAD 作为提交 ID。 它确实会重置 ref 指针并将任何更改从暂存索引移到工作区域。 然后暂存区与指定提交发生的状态相匹配。
- Hard:hard 选项重置 ref 指针并调整 staging 索引。 它还会修改工作目录,以匹配特定提交的状态。 本质上,它重置了所有方面。 在进行硬重置之前,了解您将要进行的大规模更改。
- Soft:还有一个 soft 选项,它不会触及暂存索引或您的工作目录。 ref 指针是所有被更新的。
藏
假设您已经在某个功能区域工作了一段时间。 你看到有一个错误必须在那个时候被修复。 但是您的功能实现仍在进行中,您不想造成任何未完成的分支更改。 你的git stash命令就是你所需要的。
此方法可让您将更改保留在 STASH 堆栈中。 之后,您可以列出它们以及 git 存储列表。
您可以在其上应用存储的分支没有限制。 您可以将更改存储在一个分支中,并在需要时将其应用到另一个分支。
要使存储的更改生效,请使用 git stash apply 指令。 它应用存储在堆栈中的最新更改。 如果您希望应用较早的更改,则可以指定名称,例如 git stash apply [email protected]{1}。 这适用于堆栈中的另一个存储。
一旦您使用 apply 指令应用存储,它就不会从该堆栈中删除。 您可以将其视为您将经常使用的 GIT 流程命令。
您可能会喜欢: 2020 年移动应用开发的趋势是什么?
恢复
也许您认为将完成的更改推送到其原始分支是合适的,并且注意到您的一个提交不需要在那里。 通过添加另一个指令来修复它,该指令将摆脱前一个指令。 REVERT 指令可以帮助您。 您必须指定您的提交 ID 和撤消作为参数: git revert <commit_id> 。
该命令将计算出方便的信息,包括分支的名称、在远程之后或之前进行的提交数。 此外,您还可以将新文件和修改后的文件显示为多个列表:
- 要提交的更改。
- 变更未设置为承诺。
- 未跟踪的文件。
团队协作的 Git 命令
分支
使用git branch指令,您的系统将使用分支列表。 如果你想查看远程分支,那么 git branch -r 就是你的方式。 如果你想查看本地和远程分支,那么使用 git branch -a。
您可以使用以下命令删除分支:git branch -d <branch_name>。
签出
这是另一个经常使用的 GIT 指令。 要在分支机构工作,您必须执行转换。 git checkout是如何轻松地从一个分支切换到另一个分支的。 您可以使用它来细读文件以及提交。 Git checkout <name-of-your-branch>是如何执行的。
如果你想在分支之间成功切换,请记住以下几点:
切换时可以提交或隐藏当前分支中的更改
您检查的任何分支机构必须存在于您的本地
还有一个快捷命令,可以让你一次性创建和切换到一个分支:
git checkout -b <name-of-your-branch>.
这是一个在本地创建不同指令的命令(-b 代表分支)。 它在创建后直接查看最新的分支。
拉
使用git pull指令,您可以通过远程存储库下载新数据并与最近的存储库集成。 当您运行此命令时,您会刷新本地分支,以及来自远程终端的任何更改。
也有一种默认方式来集成新的更改。 使用合并。 如果您使用以下选项,则可以将其更改为变基: git pull –rebase 。
建议始终将更改放在干净的附近存储库中,不要在其中进行未提交的更改。
犯罪
这是一个可能会“快照”或在版本历史记录中记录文件的指令。 你输入 git commit -m “[ Type in the commit message]” 从而使用它。
它是提交您添加的任何文件的命令,以及 GIT ADD 命令。 它还有效地提交了此后更改的文件。
推
在您提交任何更改后,您可能想要推送到远程存储库。 这样,您的队友就可以使用它们。
如果你运行 GIT PUSH,这会将当前区域的最近更改“推送”到它的远程。 如果通过在本地创建分支,将整个分支推送到远程存储库,那很好。 这个指令可以让你这样做: git push -u origin <replace_with_branch_name> 。
这就是将具有指定名称的分支推送到原始存储库的方式。 远程分支应使用与本地分支相同的名称。
合并
我们还必须将 MERGE 放在这个 GIT 提示列表中。 您可能希望在某个时候集成功能分支或修复另一个分支上的任何错误。 合并你的分支可以让你做到这一点。 运行git merge命令是您需要做的。
运行命令后,可以发生两种合并,即三向合并或快进合并。
快进合并适用于您希望合并的分支之间存在线性路径的情况。 假设您已经从 master 创建了一个 bugfix 分支。 你已经解决了这个问题,你会想把它合并到一个母版中。 但是,没有人对分支进行更新。 GIT 可以合并分支本身,这将解决问题。
当分支之间没有线性路径时,会发生三向合并。 与上一个示例一样,您从主版本设计了一个错误修复分支。 您纠正了错误,现在您需要将其与git merge <branch>合并。
也许您发现有人更新了母版。 为了连接分支,GIT 必须创建一个新的提交,其中合并了更改。
这时候问题就来了。 两个分支都更改了相同的代码块。 没有您的帮助,GIT 无法将这些更改混合在一起。 接受一项更改是最简单的方法。
但是,您也可以组合更改。 发生这种情况时,GIT 会使用一些视觉指示器修改受影响的文件。 这使您可以轻松定位问题。 使用了一些视觉标记:
<<<<<< — shows the place the conflict began ====== — separates changes from different branches >>>>>> — shows where the conflict ends
一旦解决了冲突并删除了标记,冲突区域将使用git add添加到暂存区域。
如果出现错误,或者你想换个方向,运行 git merge –abort。 通过这样做,您的分支不会被修改。
如果没有,则使用 git commit 命令。 它将结束合并,创建一个新的提交。
另一个有用的命令是git mergetool命令,它只是启动一个外部合并助手,以防你在 Git 中遇到合并问题。
您可能还喜欢: iOS 应用程序开发的最佳编程语言。
变基
通过先使用 REBASE 集成更改,然后合并。 使用 REBASE,您正在重写程序的背景故事。 公共提交不应该被重新设置,例如,团队成员可以将他们的工作基于它们。
与其选择将特定分支合并到您自己的分支,不如将您的分支重新设置为特定分支。 但是,您正在使用的变基协议是做什么的?
将会发生的是,更改将从一个特定的分支集成到另一个分支中。 第二个分支的基础将从一个提交更改为另一个提交。 看起来第二个分支是从第一个分支创建的。 这为您提供了清晰的线性历史记录。
Git rebase <name_of_branch_to_rebase_on>是你执行命令的方式。
这是 rebase 命令的第一个或标准模式。 然后是第二种模式,也称为交互模式。 您可以使用它轻松修改一系列提交,然后再将它们包含在另一个分支(也称为远程分支)中。
提交命令后
日志
该指令用于列出当前分支的版本历史。 要执行它,请输入git log –follow[file] 。
该指令列出文件版本历史。 文件的重命名将包括在内。 git log确实会打印提交历史记录。
在这种情况下可以使用几个选项。 其中之一是 git log –stat。 对于历史上的每个提交,都会打印一个名称列表。 已删除、修改或添加的文件将可访问。 可以看到删除或添加的行数。 您会注意到还有一个摘要供您细读。
展示
开发人员使用的显示提示可以显示各种对象的详细信息。 当我们说“对象”时,我们指的是提交或标签。 git show可用于显示旧文件版本。 例如,您可以使用此命令显示两次提交前的文件版本。
希望这个 GIT 命令教程有助于介绍这个工具。 作为一名开发人员,您对 GIT 了解得越多,您就越有可能被寻找可靠程序员的团队聘用。
随着您在该领域的进步,您将了解更多 GIT 提示,并且您的编程将变得更加顺畅。 您将能够编写可由您的队友添加的可用代码。
本文由 Slava Vaniukov 撰写。 他是软件和应用程序开发机构 Softermii 的联合创始人兼首席执行官。 他在网络和移动开发行业拥有超过 9 年的经验。 除此之外,他还是 Softermii 博客和技术博主的作者之一,在其他各种网络资源中都有特色。 你可以在 LinkedIn 上关注他。