更新我的 Github 代码库

14

我刚刚将在我的计算机上工作的项目上传到github。一切都进行得很顺利,我可以上传所有文件。现在,如果我在本地对项目进行了一些更改,我想知道如何更新我的存储库。

请尝试以下命令:

git add.
git pull origin master

我觉得我可能忘记了什么,或者我在错误地使用命令,正确的方式是什么?


2
你需要提交并推送。 - Alexan
1
看看这个教程。https://guides.github.com/activities/hello-world/ - JGoodgive
@Alexan 应用了一次提交并推送,但只有一次成功了,之后我就无法在本地仓库中更新我的更改。 - FeRcHo
1
你需要每次都这样做。 - Alexan
1
了解Git和GitHub之间的区别以及它们之间的关系可能会有所帮助。https://www.sitepoint.com/screencast-difference-git-github/ - Thom Parkin
4个回答

26
git add .
git commit -m "my changes" 
git remote add origin https://github.com/zinmyoswe/React-and-Django-Ecommerce.git
git push -u origin master

19

在“正常”情况下,确保您的更改正确添加到远程github存储库的工作流程应遵循以下阶段..

(1) git status

Git会始终告诉您什么是未提交的,以及需要添加(暂存)哪些内容以便提交到您的本地仓库。实际上,git会提示您它认为下一步在您的工作流中是什么。

(2) git add <your_file_path_you_can_use_glob_patternsLike_asteriks>

(3) git commit -m "A Nice Subject line for many file commits <enterFromKeyboardGivesYouAnotherLine>
(a) Continue typing more comments which are detailed if necessary <anotherEnterFromKeyboard>
(b) Some more details and do not forget to put closing quote mark"

如果使用Windows git-bash.exe,可以在Windows上工作。它使用mingW64模拟器来模拟Linux环境。它在这方面表现得非常好。

在将更改“推送”到远程GitHub存储库之前,您需要在本地提交要保留的任何更改 - 也就是说,在告诉git您的远程git存储库在哪里之后......

(4) git remote add myGitHubOrBitBucketRepo https://github.com/YourGitAppRepo.git

通常在github上,您的远程仓库的默认名称为“origin”。但是我一直在使用特定的别名分支名称,而在您的情况下,它是“myGitHubOrBitBucketRepo”


通常 GitHub 上远程仓库的默认名称是 “origin”,但是我使用了一个特定的别名分支名称,对于你的情况是 “myGitHubOrBitBucketRepo”。
(5) git push -u myGitHubOrBitBucketRepo HEAD:master

这个命令将把你已提交的更改(在 git 中被称为快照)推送到 GitHub.com 上的 YourGitAppRepo.git 的主分支上。如果你的远程仓库的主分支没有领先于你的本地分支,只是落后了几个提交 - GitHub.com 将接受这个推送。

-u 与 --track 相同,意味着你本地位于 HEAD 的分支将跟踪远程别名 myGitHubOrBitBucketRep 上的主分支。

在步骤 4 和 5 中,你将需要使用用户名和密码与 GitHub.com 上的远程仓库进行交互。

(6) git status

从现在开始,git status命令会告诉你是否落后于或领先于你的远程github仓库,这是由于你在push时使用了--track选项。

从现在开始,另一个有用的命令是:

git branch -vv --all

一个例子

$ git branch -vv --all
* CurrAsOf18Jan2018             50d1fc6 [remotes/bitbucketFrmWin/master: behind 5] Pedantic but done - gitNotes.txt
  remotes/bitbucketFrmWin/master        58470cd [CurrAsOf18Jan2018] This is really crazy - Spent more than a week - Singleton still gives

这里的bitbucketFrmWin是我远程bitbucket仓库的别名。AsOf16Jan2018是一个我不再关注的分支。master是我的当前主分支,我从本地仓库将更改推送到该分支。

--all选项还会显示您的本地和“远程”

需要注意的是以下内容 * CurrAsOf18Jan2018 50d1fc6 [remotes/bitbucketFrmWin/master: behind 5]

星号*表示我的本地分支的HEAD或在该分支上的提交位置。通常它总是在顶部或头部,这就是为什么它被称为“head”的原因

CurrAsOf18Jan2018是我的本地主分支,并且重要的是它表示我的本地已经领先于远程分支5次提交——它已经过时了,所以我需要使用“git push”更新我的远程分支

目前这只是这个故事的一面。如果您的远程存储库继续前进,则另一个工作流程将是

git fetch --all && git merge --ff-only <theCommitYouWantYouToCatchUpWith>

那是完全另一篇文章。

以下是一个简明的图片,我是在Oliver Steele的帮助下找到的,它展示了版本控制的基本git工作流程生命周期的另一种版本。 Another Git WorkFlow cycle courtesy Oliver Steele @ osteele.com

希望这有所帮助。


我认为这些步骤是将我的项目上传到Github,我已经上传了它,我需要知道如何在我对代码进行任何更改或创建新文件时更新它,并且这也将在我的存储库中更新。 - FeRcHo
1
FeRcHo - 实际上,您所拥有的是将更改提交到本地存储库,上传到远程存储库,然后获取和更新其他人已提交的更改的整个用例,只要您的本地提交仅落后于同事的更改。我建议您尝试使用一些简单的文件来了解基本用例的生命周期,以便您可以弄清楚发生了什么-这就像拥有一个可能很难理解的“git”的伙伴一样,但一旦您理解了,相信我,您很快就会忘记他曾经有多困难。 - user1561783
1
我从这个指南开始——相信我,它让我上路了 https://rogerdudler.github.io/git-guide/ - user1561783

0

这个答案对我有用,我认为不需要添加远程源,因为在第一次将文件推送到存储库时已经完成了。 要参考本地存储库更新git hub存储库:

git add .
git pull
git push -u origin main

-1

git add . git commit -m "message" git push

将更改添加到暂存区 提交更改并添加提交信息 推送更改到远程仓库


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接