如何在Github中使用终端命令?

40

我已经按如下操作叉出了一个私有仓库(一个iPhone项目):

cd nameofdirectory
git init
git clone forkedURL

现在我想把我所做的更改推送到我的分支存储库,以便主管理员可以查看我的代码并将其与主存储库合并。

我该如何使用MacOS终端将我所做的更改推送到我的分支存储库?

3个回答

88
你不能向别人的代码库中推送代码,因为push会将代码永久性地放入其代码库中,这并不好。你应该向他们请求从你的代码库中拉取代码。在GitHub上,你可以前往其他代码库并发送“pull request”来实现。GitHub的帮助中有一篇非常信息丰富的文章:https://help.github.com/articles/using-pull-requests
要与自己的代码库交互,你需要使用以下命令。我建议你对Git进行更多的学习以了解这些指令(网络上有很多资料)。
添加新文件到代码库或将更改后的文件添加到暂存区:
$ git add <files>
提交它们:
$ git commit
提交未暂存但已更改的文件:
$ git commit -a

向某个仓库(比如 origin)推送代码:

$ git push origin

如果只推送你的一个分支(比如master分支):

$ git push origin master

获取另一个仓库(比如origin)的内容:

$ git fetch origin

要仅获取其中一个分支(比如说 master):

$ git fetch origin master

要将一个分支与当前分支(比如说other_branch)合并:

$ git merge other_branch

请注意,origin/master是您从origin获取的上一个步骤中的分支名称。因此,通过以下方式可以更新来自origin的主分支:

$ git fetch origin master
$ git merge origin/master

您可以在手册页(无论是在线还是本地)中阅读有关这些命令的所有信息,或者按照 GitHub 帮助进行操作:


嗨Shahbaj,我问的是如何将更改推送到我的个人分叉存储库,而不是其他人的存储库 :-) - iOS_Passion

12
git add myfile.h
git commit -m "your commit message"
git push -u origin master

如果您不记得需要更新的所有文件,请使用

git status

谢谢,摩根。假设代码更改所在的文件名为myfile.h,则以下操作是否正确: git add myfile.h git commit -m "您的提交信息" git push -u origin master - iOS_Passion
我已更新示例以包括您的文件名。在执行其他两个命令之前,您也可以为每个文件重复执行“git add”命令。 - Morgan
此外,请确保在我放置“您的提交消息”处编写更改摘要。 - Morgan
实际上,我错过了第一步......我会很快检查这三个步骤......另外,你能告诉我如何将主存储库中的更改更新到我的代码中吗? - iOS_Passion
1
@Priyanshu,看起来你需要从一个好的教程开始学习git。查看GitHub中的帮助是一个很好的开始。针对你之前的评论,你需要执行git fetch origin,然后执行git merge origin/master(但不要盲目跟随我的建议)。 - Shahbaz
谢谢,点赞!这是唯一解决 Xcode 上出现“未匹配任何已知 Git 文件”的方法。 - GuiSoySauce

1
为一次性添加所有文件,请使用 git add -A 要检查 git 的整体状态,请使用 git log

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