通过 Git 将代码提交到 GitHub-下

在「通过 Git 将代码提交到 GitHub(上)」一文中,我们已经介绍了向 GitHub 提交代码时的第一种情况,即:

  • 第一种:本地没有 Git 仓库,这时我们可以直接将远程仓库clone到本地。通过clone命令创建的本地仓库,其本身就是一个 Git 仓库了,不用我们再进行init初始化操作啦,而且自动关联远程仓库。我们只需要在这个仓库进行修改或者添加等操作,然后commit即可。

接下来,我们继续介绍向 GitHub 提交代码时可能遇到的第二种情况,即:

  • 第二种:本地有 Git 仓库,并且我们已经进行了多次commit操作。

仍然以博主的开源项目为例,HelloWorld项目进行演示。首先,建立一个本地仓库,命名为springmvc-hello

image-20220906152256600

如上图所示,进入该仓库,进入init初始化操作:

image-20220906152357578

然后,输入git remote add origin https://github.com/javaxubo/HelloWorld.git命令,关联远程仓库(在此,默认大家都知道如何获取远程仓库的地址),其中origin为远程仓库的名字:

1

输入git pull origin main命令,同步远程仓库和本地仓库:(暂时解释不了为啥这里不显示main而是显示master了,好像是自动创建的.想看解释点击这里)

image-20220906152851160

再回到本地springmvc-hello仓库,看看我们是否已经把远程仓库的内容同步到了本地:

image-20220906152943930

如上图所示,显然我们已经把远程HelloWorld仓库里面文件同步到了本地仓库。接下来,在本地仓库新建一个名为test.txt的测试文件:

4

输入git addgit commit命令,将文件test.txt添加并提交到springmvc-hello仓库:

image-20220906153248125

再输入git push origin main命令,将本地仓库修改(或者添加)的内容提交到远程仓库:

image-20220906153910583

如上图所示,我们已经将本地仓库的内容同步到了远程仓库。下面,我们进入远程HelloWorld仓库的页面,看看我们的提交结果:

image-20220906160502045

主分支main没有本次提交

image-20220906160519716

我上面的代码是自动创建多出来一个master分支,并且我这次提交的文件test.txt是存在与master分支,主分支目前是没有test.txt文件的,还需要我们进一步去合并分支.这样main分支才能有我们提交的代码.当我去阅读完这段解释之后我好像有点理解了,但是目前不清楚这种情况是不是我现在遇到的问题

为什么我们在派生GitHub存储库时要创建一个新分支

这不是一个技术要求。相反,将不完整的代码排除在主分支之外是一种很好的工作实践。

通过在新的分支上工作,您可以保存和测试您的进度(提交到分支),而不会影响主分支。这提供了一个安全的工作区,在您准备合并回到main之前,它不会中断main分支。

当您对分支上的工作感到满意时,您可以合并回到主分支。

如果你不想保留你的分支,这也使得丢弃它变得很容易。删除新分支不会影响主分支上发生的任何工作。

如果你是唯一一个在这个项目上工作的人,这可能看起来很愚蠢。这仍然是一种很好的做法。较大的项目将在主分支上进行活动,并且不应该包括不完整或未经测试的代码。将草稿放在工作分支上,而不放在主分支上。

合并分支命令请点击这里,合并分支之后我们可以在main主分支上看到新增的文件了.

image-20220906161806980

如上图所示,我们已经将「通过 Git 将代码提交到 GitHub」的第二种情况演示完毕。

此外,在本篇博文中,我们将远程仓库命名为origin,本地仓库名为springmvc-tutorial,其实两者的名字咱们可以随意取,一般来说,我们习惯性将远程仓库命名为origin,不过在需要关联多个远程仓库的时候,就需要我们再取别的名字啦!

最后,再强调一遍:在我们向远程仓库提交代码的时候,一定要先进行pull操作,再进行push操作,防止本地仓库与远程仓库不同步导致冲突的问题,尤其是第二种提交代码的情况,很容易就出现问题。

posted @ 2022-09-11 19:18  哩个啷个波  阅读(39)  评论(0编辑  收藏  举报