在github上更新我的存储库

时间:2018-01-19 20:32:56

标签: git github github-for-windows

我刚刚去了 github 在我的计算机上本地工作的项目。一切顺利,我可以上传我的所有文件..现在我想知道如果我在本地对我的项目进行一些更改我可以更新我的存储库 尝试以下命令:

git add.
git pull origin master

我想我忘记了某些事情,或者我错误地使用了这些命令,这是正确的方法吗?

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

确保在“正常”情况下将更改正确添加到远程github存储库的工作流程应遵循这些阶段。

(1) git status

将始终告诉您未提交的内容以及需要“添加”(暂存)以便提交到本地仓库的内容。实际上,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”

(5) git push -u myGitHubOrBitBucketRepo HEAD:master

此命令会将您提交的更改(也就是git中的快照)与github.com上的YourGitAppRepo.git一起推送到主分支上,如果您的远程仓库上的主人不在您的本地分支之前且它只是一对提交背后 - github.com将接受此推送

-u与--track相同,这意味着您的本地分支@HEAD将跟踪远程别名myGitHubOrBitBucketRep的主分支

在第4步&amp; 5您必须使用userId和passWord与GitHub.com上的远程仓库进行交互

(6) git status

从现在起,git status实际上会告诉您是否落后于远程github仓库,因为您在推送中执行了--track(ing)选项

从这一点开始使用的另一个有用命令是

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 repo的别名 AsOf16Jan2018是一个我不再感兴趣的分支 master是我当前的主要分支,我将更改从我的本地仓库中推送出来。

--all选项还会显示您的本地和&amp;你的“遥控器”

值得注意的是以下内容 * CurrAsOf18Jan2018 50d1fc6 [遥控器/ bitbucketFrmWin / master:落后5]

asterik *是我本地分支的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

希望这有帮助。