【Git】Git的使用方法
首先
这篇文章是为了给第一次接触git的人或是多人一起使用git进行项目推进的人提供参考而写的。如果有任何错误,请在评论栏指出,谢谢。
在Git中使用的服务和工具
各种服务和工具有付费和免费的选择。
在工具方面,如果使用命令行界面(CLI)操作git,则无需它。
本次说明将以使用以下两个工具为前提进行。
Git(版本管理系统)的服务→GitLab
(其他服务参考文章:免费可用!Git的托管服务5个)
Git的工具→Sourcetree
(其他工具参考文章:Git GUI客户端比较5选)
远程仓库和本地仓库
存储库:类似于存储空间的地方
远程仓库和本地仓库各有如下描述:
合作开发的过程
克隆
在项目中已经存在一个远程代码库,并将其复制到本地称之为“克隆”该代码库。
打开时可以选择SSH或HTTPS的URL,但是如果使用HTTPS的URL进行克隆,
每次进行克隆、推送或拉取等操作时都需要输入用户名和密码,非常麻烦。
所以如果想避免这种情况,我认为最好使用SSH的URL。
(因为SSH使用密钥进行身份验证,一旦生成密钥,就不再需要每次进行身份验证。
请参考以下网站,了解Windows和Mac各自的设置方法)
克隆已完成!
创建分支
打开Sourcetree后,之前克隆的项目已被添加。
我们要在本地创建与远程文件夹相同的环境。
这个过程被称为创建分支。
这样就在本地创建了同样的项目!您需要将它作为您自己的分支上传到远程。所以一旦创建了分支,请点击提交按钮并进行推送。
Git的工作流程
我们已经准备好开始工作了,但在项目成员之间充分利用git的过程中,需要考虑分支管理方法。因此,首先提出了一种流程方案,即”git-flow”。参考资料:git-flow是什么?
按照给定的角色来分配分支进行工作,最近根据Git-flow的概念,可以考虑根据项目需求来划分分支,所以这次我们将用一个简单的流程来说明。
(※以下的说明中的”合并”是指”集成”的意思。)
主分支
在Git中,當創建新的存儲庫時,默认創建的分支通常被準備用作生產環境。
在這裡,我們只需要進行合併,而不需要直接構建源代碼。
开发分支
我們準備了一個開發環境。
在開發過程中,我們從 develop 分支上分出一個 feature 分支,
完成工作後將 feature 分支合併到 develop 分支,
然後將 develop 分支合併到 master 分支,一直循環進行。
特性分支
为了每个个人负责的功能、变更和修正分别创建,准备好相应的分支。为了能够清楚知道是哪个分支,给它们取个名字,如下所示:
feature-login
feature-login-bugfix
从develop分支派生出来,完成工作后再次合并到develop分支。
合并完成后,记得将其删除。
提交、拉取、推送、获取
当设置好Git的工作流程后,只需掌握标题的提交、拉取、推送和抓取的方法,就可以顺利进行工作。
提交
如果能够将其添加到索引中,接下来要写提交说明并提交。
在关联的文件中写上自己做了什么,对团队成员很友好。
按动
拉和推的互动如下所示的情景。
如果有远程更改或有人更新了内容,就会在拉取部分显示数字,然后按下拉取按钮进行下载。
从中文到日文就不可以直接进行翻译, 日文和中文是完全不同的两种语言。
了解这件事会很有好处
.gitignore文件
当有不希望作为推送目标的文件夹或文件时,可以使用它。
请参考参考网站以了解写法。
[Git] 详解.gitignore规范
撤销最近的 git commit 执行
重置当前分支的HEAD到指定的提交的命令。添加”–soft”选项时,可保持工作树和索引不变,仅更改分支的HEAD。
允许添加修正并重新提交。
在GitLab中,使用MR(合并请求),而在GitHub中则使用PR(拉取请求)。
听说在请求合并方面两者都一样,但是由于 GitHub 和 GitLab 的用法差异,所使用的词汇也不一样。
参考网站:Pull Request / Merge Request 的区别
最后需要注意的事项
我会介绍一些在使用Git时经常出现的错误。我还附上了参考网站,你可以参考它们来解决问题。
空目录无法添加到git中。
如果想要添加临时文件或日志文件的目录,可以通过放置一个名为”.gitkeep”的空文件来解决。”.gitkeep”这个名称可以随意取。只需放入任何文件即可。
Conflict (竞争)
如果团队成员在修改同一文件后将其推送,就会发生这种情况。我们不要着急解决冲突。参考网站:什么是合并冲突?如何在使用Git版本控制时解决合并冲突
切换分支之前,请先提交您所做的更改或将其暂存,系统会显示此提示。
根据错误消息,我们可以使用”stash”命令将更改文件进行临时保存。
如果将更改文件保留在stash中太久,就会不知道它们是哪次以及什么时间的更改,所以建议尽早解决并重新取回,
同时经常删除stash中的内容。
参考网站:使用SourceTree将工作暂时保存
除此之外还有很多其他事情要考虑,但每次都要仔细阅读错误信息是很重要的。
这是在Git上关于项目推进方法的内容!