ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-09-11 19:31:00  阅读:310  来源: 互联网

标签:GitHub 本地 仓库 Git 提交 main 远程 分支


在「通过 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操作,防止本地仓库与远程仓库不同步导致冲突的问题,尤其是第二种提交代码的情况,很容易就出现问题。

标签:GitHub,本地,仓库,Git,提交,main,远程,分支
来源: https://www.cnblogs.com/javaxubo/p/16684649.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有