【Git】Git的使用方法

首先

这篇文章是为了给第一次接触git的人或是多人一起使用git进行项目推进的人提供参考而写的。如果有任何错误,请在评论栏指出,谢谢。

在Git中使用的服务和工具

各种服务和工具有付费和免费的选择。
在工具方面,如果使用命令行界面(CLI)操作git,则无需它。
本次说明将以使用以下两个工具为前提进行。

Git(版本管理系统)的服务→GitLab
(其他服务参考文章:免费可用!Git的托管服务5个)

Git的工具→Sourcetree
(其他工具参考文章:Git GUI客户端比较5选)

远程仓库和本地仓库

存储库:类似于存储空间的地方

远程仓库和本地仓库各有如下描述:

スクリーンショット 2019-03-10 1.08.10.png

合作开发的过程

克隆

在项目中已经存在一个远程代码库,并将其复制到本地称之为“克隆”该代码库。

スクリーンショット 2019-03-10 13.25.53.png

打开时可以选择SSH或HTTPS的URL,但是如果使用HTTPS的URL进行克隆,
每次进行克隆、推送或拉取等操作时都需要输入用户名和密码,非常麻烦。
所以如果想避免这种情况,我认为最好使用SSH的URL。
(因为SSH使用密钥进行身份验证,一旦生成密钥,就不再需要每次进行身份验证。
请参考以下网站,了解Windows和Mac各自的设置方法)

スクリーンショット 2019-03-10 13.18.56.png
スクリーンショット 2019-03-10 14.37.02.png

克隆已完成!

创建分支

打开Sourcetree后,之前克隆的项目已被添加。
我们要在本地创建与远程文件夹相同的环境。
这个过程被称为创建分支。

スクリーンショット 2019-03-10 15.05.03.png
スクリーンショット 2019-03-10 15.00.09.png

这样就在本地创建了同样的项目!您需要将它作为您自己的分支上传到远程。所以一旦创建了分支,请点击提交按钮并进行推送。

Git的工作流程

我们已经准备好开始工作了,但在项目成员之间充分利用git的过程中,需要考虑分支管理方法。因此,首先提出了一种流程方案,即”git-flow”。参考资料:git-flow是什么?

按照给定的角色来分配分支进行工作,最近根据Git-flow的概念,可以考虑根据项目需求来划分分支,所以这次我们将用一个简单的流程来说明。

(※以下的说明中的”合并”是指”集成”的意思。)

主分支

在Git中,當創建新的存儲庫時,默认創建的分支通常被準備用作生產環境。
在這裡,我們只需要進行合併,而不需要直接構建源代碼。

开发分支

我們準備了一個開發環境。
在開發過程中,我們從 develop 分支上分出一個 feature 分支,
完成工作後將 feature 分支合併到 develop 分支,
然後將 develop 分支合併到 master 分支,一直循環進行。

特性分支

为了每个个人负责的功能、变更和修正分别创建,准备好相应的分支。为了能够清楚知道是哪个分支,给它们取个名字,如下所示:
feature-login
feature-login-bugfix
从develop分支派生出来,完成工作后再次合并到develop分支。
合并完成后,记得将其删除。

提交、拉取、推送、获取

当设置好Git的工作流程后,只需掌握标题的提交、拉取、推送和抓取的方法,就可以顺利进行工作。

スクリーンショット 2019-03-10 15.50.28.png

提交

如果能够将其添加到索引中,接下来要写提交说明并提交。
在关联的文件中写上自己做了什么,对团队成员很友好。

スクリーンショット 2019-03-10 15.56.57.png

按动

拉和推的互动如下所示的情景。

スクリーンショット 2019-03-10 16.08.51.png

如果有远程更改或有人更新了内容,就会在拉取部分显示数字,然后按下拉取按钮进行下载。

スクリーンショット 2019-03-10 16.06.24.png
スクリーンショット 2019-03-10 16.06.38.png

从中文到日文就不可以直接进行翻译, 日文和中文是完全不同的两种语言。

スクリーンショット 2019-03-10 16.06.58.png

了解这件事会很有好处

.gitignore文件

当有不希望作为推送目标的文件夹或文件时,可以使用它。
请参考参考网站以了解写法。
[Git] 详解.gitignore规范

撤销最近的 git commit 执行

重置当前分支的HEAD到指定的提交的命令。添加”–soft”选项时,可保持工作树和索引不变,仅更改分支的HEAD。
允许添加修正并重新提交。

スクリーンショット 2019-03-10 17.18.59.png

在GitLab中,使用MR(合并请求),而在GitHub中则使用PR(拉取请求)。

听说在请求合并方面两者都一样,但是由于 GitHub 和 GitLab 的用法差异,所使用的词汇也不一样。
参考网站:Pull Request / Merge Request 的区别

最后需要注意的事项

我会介绍一些在使用Git时经常出现的错误。我还附上了参考网站,你可以参考它们来解决问题。

空目录无法添加到git中。

如果想要添加临时文件或日志文件的目录,可以通过放置一个名为”.gitkeep”的空文件来解决。”.gitkeep”这个名称可以随意取。只需放入任何文件即可。

Conflict (竞争)

如果团队成员在修改同一文件后将其推送,就会发生这种情况。我们不要着急解决冲突。参考网站:什么是合并冲突?如何在使用Git版本控制时解决合并冲突

切换分支之前,请先提交您所做的更改或将其暂存,系统会显示此提示。

根据错误消息,我们可以使用”stash”命令将更改文件进行临时保存。
如果将更改文件保留在stash中太久,就会不知道它们是哪次以及什么时间的更改,所以建议尽早解决并重新取回,
同时经常删除stash中的内容。

参考网站:使用SourceTree将工作暂时保存

除此之外还有很多其他事情要考虑,但每次都要仔细阅读错误信息是很重要的。

这是在Git上关于项目推进方法的内容!

广告
将在 10 秒后关闭
bannerAds