Git 是一种版本控制系统,而 Github 是一个基于 Git 的代码托管平台,我需要复习它们

你是谁?

我是一名大学生,在IT创业公司做实习生。

由于经常在業務中遇到git操作的困难,所以我打算温习一下。

这篇文章所提供的信息

    • 以下についてふわっとわかる

git branch
git switch
git merge

开始准备

    1. 在 GitHub 上创建仓库

我将其命名为 git_test
https://github.com/kajiyai/git_test

在本地进行 git clone
创建一个文件,然后进行 add、commit

我将内容写入 1.txt 文件中:“初次尝试写入”

git push

会要求输入用户名和密码
密码可以在个人资料的设置>开发者工具中创建个人访问密钥,然后输入即可通过验证。

Untitled.png

当前情况

远程和本地均如下

分支

    master

提交

    1.txt
Untitled (2).png
Untitled (1).png

Git log的发音

提交 <哈希值> (本地分支 -> 远程分支)。

提交者:电子邮件

提交创建时间

HEAD 是指向当前所在的提交的指针。

詳細內容,請參考以下所介紹的文章。

请提供中文的语义预训练模型或详细指导,以便我能更好地理解您的要求并提供准确的中文翻译。

情境1:一位厉害的叔叔通过远程操作提早完成分支

首先

在远程上,快乐老人从主分支合并到了greatman1分支。

我被一个重要的男士告诉要从这个分支再切出一个分支来进行工作!他要求分支的名字要容易理解!

作业内容是通过电子邮件告知创建一个名为”2.txt”的文件,然后在文件中写上”尝试写第二次”。

总体的流程如下所示。

    1. 大人您好,我要从master分支创建一个名为greatman1的新分支。

 

    1. 我要将greatman1分支拉到本地。

 

    1. 我要从greatman1分支创建一个名为text2的新分支。

 

    1. 我要创建一个内容为”2回目かいてみた”的”2.txt”文件。

 

    1. 我要推送text2分支。

 

    1. 我要发起一个pull request。

 

    1. 大人您好,请您检查并提出意见。

 

    1. 我会进行修正。

 

    大人您好,请您进行合并。

步骤1:一位厉害的大叔从主分支(master)创建一个名为greatman1的分支。

Untitled

这个时候在本地尝试运行 git log

Untitled

步骤2:从本地获取greatman1分支。

我在这里不小心在本地切换到了名为greatman1的分支(与远程分支同名),并尝试从远程拉取了内容。Git在推送时会发生错误,如果远程和本地的完整历史记录不一致。判断历史记录是否一致的方法是使用提交的哈希值(可能是这样)。因此,我现在想直接将远程分支带到本地。于是我运行以下命令:

# ローカルにリモートの状態を反映させます
$ git fetch 
Untitled (4).png
Untitled (5).png

好的,现在开始将远程的greatman1分支创建到本地。

请 查看(https://qiita.com/bitarx/items/ad47c9b91ae9c8272b3f) 以获取参考。

由于”checkout”命令的功能被分离为”switch”命令和”restore”命令,所以尽量使用”switch”命令。

# リモート
git switch -c greatman1

步骤3:从greatman1分支创建一个名为text2的新分支。

看来在Git中,在创建分支的时候关于自己在哪个分支的情况似乎很重要。所以在用git branch命令确认自己当前所在的位置后再创建分支。

Untitled (6).png

# 今いるブランチを確認
git branch 
# text2ブランチを新たに作成
git switch -c text2

步骤四:创建文本文件

# エディタ(vscodeなど)で2.txtファイルを作成し、保存する

# 一応、今いるブランチを確認
git branch
# text2ブランチにいることを確認し、add,commit
git add 2.txt
git commit -m "にかいめかいてみまし

步骤五:将文本文件推送

在第四个步骤中,创建了一个名为2.txt的文件并进行了提交。我想要将这个提交推送到远程。当前正在操作的分支名字是text2。尽管这个分支在远程上不存在,但是在推送的时候可以通过指定想要创建的远程分支名字来创建。通常情况下,会复用当前正在操作中的分支名字。

# git push origin <リモートブランチ名>

git push origin text2
Untitled (7).png

当你访问GitHub页面时,会出现一个显示表示像上面的图片被推送的提示。

Untitled (8).png

请用中文把以下内容进行释义,只需要提供一种选项:

现在还创建了一个以前没有的名为text2的分支。

步骤6:创建拉取请求

Pull Request是请求拉取(pull)的操作。它用于主张自己所编写代码的正确性。

请点击下方的图像(再次显示),按下绿色按钮(比较&pull请求),对修正内容进行书写。

Untitled (9).png

在下面的屏幕上显示,并留下标题和评论。

由於可以在這裡指定要合併的分支,所以我們將其設為greatman1。請注意,拉取請求和提交是不同的事情。

Untitled (10).png

步骤7:受到厉害的大叔责备

一个重要的先生看着我的拉取请求,向我开口说话。

大叔,请问我提醒您”请把我写的第二次邮件确认一下”,您查看了邮件吗?

我写了一篇文章叫「第二次尝试」。我很努力地写了,但是不好吗?

“哇,老板真厉害啊,原来是用汉字写的,把“第二次”改成“第二回”吧。”

我(装作)是的(翻白眼)

只有一个账户我无法扮演一个了不起的老爷爷角色。

我并不认为任何批评或评论都是抱怨。这只是一个比喻而已。

步骤8:进行修正

我将按照那位了不起的老先生所说的进行修正。

# ブランチの確認
git branch

# vscodeで2.txtファイルの修正
git add 2.txt
git commit -m "えらいおじさんのいうとおりにしました"

git push origin text2
Untitled (11).png

步骤9:有经验的男士进行合并

厉害的大叔看着我的修正,满意地点头并合并了它们。


额外赠品

origin是什么来着?

Git在远程存储库上为默认名称的事情

参考:https://reasonable-code.com/git-origin/

请参阅:https://reasonable-code.com/git-origin/

每次使用git进行push时都要输入密码太麻烦了。

通过将访问令牌复制粘贴到.env文件中来解决了该问题。

希望删除远程分支时。

创建这篇文章时使用了。

我认为通常的开发中,会删除已发布功能的远程分支。

bannerAds