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作为托管提供商:
使用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
如果您想从远程仓提取变更,请运行:
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生态系统,并本能地知道在特定情况下使用哪个命令,但很快就会成为您作为开发人员日常工作的主要内容。