跳到主要内容

Buddy中使用Git(上手)

本文介绍了Git的基础知识:在系统上安装Git、初始化存储仓、编写文件,添加远程仓以及与其他用户协作分支。

提示

开始前请注意:了解Git工作原理的最佳方法是从终端运行Git命令。如果您是Windows用户,请确保在安装git时运行git bash。

安装

首先,您需要为您的操作系统安装Git:

创建存储仓

安装Git后,转到项目所在的文件夹并运行以下操作:

git init

在这个目录中初始化Git。此命令将添加/.git目录到您的文件夹,该文件夹将存储有关repo的数据。

添加文件至存储仓

现在我们需要告诉Git将文件置于版本控制之下,以便我们可以提交它们。为此,请运行:

git add .

使用'git add',您可以定义要添加到下一次提交中的文件:

  • git add 文件名 将添加具体指定的文件
  • git add . 将添加目录中的所有文件

一旦添加文件后,可以将其提交到存储仓:

git commit -m '已添加所有文件至存储仓'

其中-m表示提交消息。始终在提交中写一些描述您的提交内容,以避免以后浏览记录时出现混乱。

要查看已添加和/或提交的文件,请运行git status

存储仓中更改文件

Git中,每次更改文件时,都需要在提交之前使用git add再次添加。

假设您对README.md做了一些更改。如果要提交更改,需要运行:

git add README.md
git commit -m '变更README.md'

然而,如果您在提交更改至现有文件而不希望在每次运行使用git add,可以使用-am作为参数:

git commit -am '变更README.md'

浏览记录

好!我们已经做了一些提交并记录了一些动态。如果您想查看谁以及何时在存储仓中提交,请执行以下操作:

git log

您可以将参数添加到git log以筛选提交并更改显示内容,例如:

  • git log --pretty=oneline 将使记录更紧凑
  • git log --grep =shit.* 将显示以“shit”开头的提交列表。

git log参数的完整列表,运行git log --help

恢复变更

使用Git,您可以轻松撤消对文件的更改。您很快就会发现这个功能真的很有帮助,特别是如果您最近对代码的更改已经把您的整个项目搞砸了。该命令取决于Git中文件的实际状态。

如何恢复变更:

  • 如果您在本地更改了文件,但尚未使用git add添加,只需从存储仓中checkout(克隆)文件:

    git checkout README.md
  • 如果已经添加了文件,请将HEAD参数添加到checkout命令中:

    git checkout HEAD README.md
  • 如果文件已提交,则需要添加要将其恢复的修订,然后再次提交:

    git checkout <SHA> README.md
    git add README.md
    git commit -m ‘恢复README.md为旧版本’

    其中<SHA>表示修订


与其他用户协作

设置远程存储仓

如果您想与您的团队在代码上进行协作,您需要在Git托管服务上创建一个远程存储仓,您将把您的更改推送到此存储仓。您可以使用我们的服务托管您存储仓,或者使用任何其他Git托管提供商,稍后将其与Buddy同步。在本例中,我们将使用Buddy作为托管提供商:

Buddy Git托管

使用Git添加远程和推送更改

好!我们刚刚在Buddy上创建了一个远程存储仓。在可以推送提交之前,我们需要将该存储仓作为远程仓添加。为此,请运行:

git remote add origin REMOTE_URL
  • REMOTE_URL 是您远程仓的链接,例如:https://app.buddy.works/workspace-id/my-project
  • origin 是远程位置的ID(您可以将单词“origin”更改为其他内容)

Git会要求您输入存储库的登录凭据:只需使用您登录Buddy时使用的相同电子邮件和密码即可。您可以在ID设置中查看和设置。

现在我们可以使用以下命令推送变更至远程仓:

git push origin --all

Setting up remote repository

如果您想从远程仓提取变更,请运行:

git pull origin --all
  • --all参数表示存储仓中的所有分支。我们将在下一步解释分支的概念。
信息

在Git中,您不仅仅是将文件从一个地方“上传”到另一个地方:您实际上要做的是将文件更改注册为提交,然后将这些提交推送到(上传)存储仓。换言之,每次添加、修改或删除文件时,您都需要提交此更改,然后才能将其推送到存储仓,使其可供团队实际使用。


分支处理

新建一个分支

分支是Git的核心功能,它允许您与其他开发人员隔离工作而不会有搞乱开发主线的风险。

默认情况下,Git存储仓创建的分支为master或main,如果您想开发一个新功能,您就可以新建一个分支:

git checkout -b new_feature

chekout转到新分支后,所有新提交都将推送至新建的 new_features 分支。

  • git checkout 分支名称 将切换到指定名称的分支
  • git show-branch --list 将显示您的本地分支
  • git show-branch --all 将显示您的本地分支和远程分支

您也可以直接从Buddy用户界面的分支标签页上浏览、添加和删除分支:

分支标签页

创建分支

推送新分支至远程仓

如果您想与另一个开发者在这个分支上合作,您必须把它推到远程仓:

git push origin new_feature

一旦推送,其他开发人员将能够将分支提取到他们的计算机中:

git pull origin new_feature

合并分支

当您工作就绪后,就可以切换回master分支并将功能分支合并到主分支master之上:

git checkout master
git merge new_feature

一旦分支合并后,您就可以将分支删除:

git branch -d new_feature

所有操作都可以在Buddy中的“合并”标签页中进行,您只需点击几下即可合并分支并发出合并请求:

合并标签页

处理冲突

有时在合并时会出现冲突。当同一个文件在两个不同的分支中被编辑时,这种情况最常见,您需要告诉Git要保留哪些更改。

通常,要解决冲突,您必须编辑文件,然后将其添加并再次提交到存储仓:

git add README.md
git commit -m '处理冲突'
信息

如果您想了解更多处理冲突的相关信息,请移步此处 >>>

总结

了解这几个基本命令是掌握Git的第一步。虽然您可能需要一段时间才能熟悉Git生态系统,并本能地知道在特定情况下使用哪个命令,但很快就会成为您作为开发人员日常工作的主要内容。