Git/GitHub基础总结
首先
作为人们的备忘录进行记录
GitHub是什么?它与Git有什么不同之处?
Git是一款用于管理源代码版本的工具。
GitHub是一个基于Git的Web服务,提供开发者支持。
Git与GitHub的关系就像YouTube与视频的关系一样。
使用Git机制的服务不仅限于GitHub,但GitHub是最广泛使用的。
使用Git机制的工具服务也被称为Git托管服务。
除了GitHub外的Git托管服务的例子。
▼参考网站
GitHub/Git実践操作指南
在下面的内容中,说明GitHub和Git的基本操作。
创建远程代码库
我們在GitHub上進行操作。
在網上準備一個盒子來管理版本的遠程映像。
-
- 登录到GitHub。
-
- 从右上角的[+]选择「新建存储库」。
-
- 输入存储库名称/公共或私有/是否添加自述文件等。
-
- ※存储库名称最好与本地存储库的名称保持一致。
点击「创建存储库」并完成。
SSH连接的设置
请参阅我的另一篇文章进行整理确认。
将远程仓库与本地仓库进行关联。
本地仓库与远程仓库的关联操作。
确保远程仓库、本地仓库和SSH连接已经设置完成。在选择关联当前目录的文件之后进行操作。
git init
git remote add origin URL
URL是将GitHub远程存储库的SSH添加进去。
git remote -v
一旦显示出存储库的URL,就可以了!
在GitHub上创建问题。
问题是指问题管理功能。问题是英语单词「issue」的直译,意为日语中的「问题」。
可以与存储库相关联并创建。也就是说,没有存储库就无法创建问题。
该功能类似于一个简单的论坛功能,可以对投稿进行评论。
假设前提条件是已创建存储库。
-
- 从右上方的头像中选择“Your repositories”
-
- 选择要创建问题的存储库
-
- 选择顶部菜单栏中的“issue”
-
- 点击屏幕右上方的“New issue”
-
- 在标题处填写主题,在描述处填写内容
- 点击右下方的“Submit new issue”完成
参考网站
从远程存储库克隆到本地环境中。
将远程仓库复制到本地的方法。
由于整个仓库的文件都会被复制过来,所以有点像下载的感觉。
使用git clone命令进行操作。前提条件是能够建立SSH连接。
在本地环境的终端中执行以下命令(如VScode)。
$ https://github.com/[ユーザー名]/[リポジトリ名].git
请注意,文件将在当前目录中生成,请留意目录位置!
在本地环境下创建一个分支。
Branch可以理解为扩展工作空间的概念。在日语中,“branch”直译为“枝”。
在中文中,创建分支也被称为切换分支。
当所有人都触碰到生产环境时,如果发生无法挽回的错误,就没有恢复的方法了。
切分分支可以让我们了解到每个任务所编辑的内容,也能增加恢复点的数量。
作为一种理论,最好按功能划分分支。(例如,实现登录功能/创建首页等等…)
在本地环境的终端中执行以下命令。 de
$ git branch
$ git branch ブランチ名
请使用git checkout命令切换分支,虽然已经完成了分支创建,但当前分支位置尚未改变。
$ git checkout ブランチ名
如果将分支名创建为所需的分支名,就可以进行移动。
如果想要确认是否已经成功移动到另一个分支,可以再次运行git branch命令,查看当前所在的分支上是否带有”*”等标记,以进行确认。
▼參考網站
将更改内容同步到远程位置
切换到分支进行工作,完成更改和更新后将其推送到远程环境中(push ~ 拉取请求)。
在本地环境的终端上执行以下命令。
$ git add .
$ git commit -m "コメント"
$ git push origin ブランチ名
那些只记得 git push origin main 这个词组的人要特别小心。一定要使用 git push origin 分支名。
虽然准备好将更改反映到远程仓库的主分支上,
但是远程仓库的主分支目前还没有改变。
下面是将这些更改合并到主分支的方法。
– 切换到GitHub上的目标远程仓库
– 点击顶部菜单栏中的Pull requests按钮
ブランチ名 had recent pushes a minutes ago
随着类似文本的出现,出现了一个名为“比较和拉取请求”的按钮。
点击“比较和拉取请求”按钮,进入到创建拉取请求的页面。
1. ブランチの行き先を正しく選択する(ex:main←分けたブランチとなっているか)
2. titleとdescriptionを入力
3. 「Create pull request」をクリックし、プルリクエスト完了
如果没有冲突,
当出现“合并拉取请求”按钮时,点击它。
然后通过点击“确认合并”来完成合并。
如果发生冲突,请参考下一章节并解决。
解决在GitHub上发生的拉取请求冲突。
在多人合作的情况下容易发生的问题是,当对同一行进行不同编辑时可能会发生冲突。
这种情况下,GitHub会提示“已反映但可能存在问题的更改,哪一个是正确的?”
在本地环境中解决冲突的方法
1.分けたブランチ上で、git pull origin main
2.コンフリクトが発生している部分を正しい表記に変える。<<<とか>>>とか===も全部消す。
3.git add ./git commit -m "コンフリクト解消"/git push origin ブランチ名
返回GitHub上的Pull requests页面……!出现了「合并pull request」的按钮,点击它。
然后点击「确认合并」来完成合并。
如何在GitHub上解决冲突。
1. 対象のプルリクを参照
2. コンフリクトが発生しているエラーメッセージ部にある「Resolve conflicts」をクリック
3. 画面に表示されている内容を正しく修正。<<<とか>>>とか===も全部消す。
4. 右上部、「Mark as resolved」をクリック。
5. 右上に「Commit merge」が出現するのでクリック
回到GitHub上的Pull requests页面……!点击出现的“合并pull request”按钮
然后点击“确认合并”来完成合并。
▼ 参考网站
其他
请将与Git相关的疑问和备忘录整理如下。
git clone 和 git pull 有什么不同?
在GitHub上的文件和执行环境在复制方面扮演着相同的角色。
使用Git clone会复制所有文件。
使用Git pull只会复制本地和远程之间的差异部分。
克隆代码库
将所有文件复制到当前目录中。
在git clone的参数中写入仓库的URL。
*如果当前目录中存在同名的目录,则无法使用。
换言之,只需在最初的下载时执行该命令。
拉取代码
只能有一个选择:在当前目录下只能复制已更新的文件的命令,不仅可以在主分支上复制,还可以在其他分支上按分支的单位进行复制。
从第二次开始,也就是说,执行文件的更新和升级命令。
总结一下
在第一次操作时,通过git clone将远程仓库的主分支完整地复制到本地,
而在第二次及以后的操作中,按照理论上的方法,可以通过git pull来更新本地环境并进行工作。
已经完成了一次合并请求的分支不能再次重新拉取请求吗?
结论:虽然不能直接实现,但通过重新创建分支可以实现伪实现。
当将分支合并时,它的状态会变为已关闭。
而且,已关闭状态的分支无法再次更新或提交拉取请求。
通常情况下,完成合并的分支会被删除。
1.まったく別のブランチを切る
2.使いたいブランチをpullして、疑似的にブランチの複製を行う
3.変更後新規ブランチとしてメインブランチへのマージを試みる