将文件上传到 Github 仓库的一个分支

8
我知道有很多关于这个的教程,但我不知道从哪里开始。我正在使用MAC电脑,并在运行Ubuntu 14.04的远程系统上工作。我的目标是将文件夹上传到我们组织的Github存储库中。已经存在一个存储库,我想创建一个分支并将我的文件和文件夹上传到该分支中。 我尝试着这样做:
git branch branch_name
git checkout branch_name

然而,该分支在网页上没有显示出来。我也尝试从网页创建分支,但我不知道如何上传文件。我也不确定如何实际导航到我想要上传的存储库。
请告诉我如何操作。
谢谢!

1
https://guides.github.com/activities/hello-world/ - Jim
你的两个命令是否跟随着添加、提交和推送到远程仓库? - Gavin
@Gavin,不,我是在按照这个教程操作的:https://www.atlassian.com/git/tutorials/using-branches/git-merge。但是在完成上述两个步骤后停止了,因为我担心可能会将其提交到主分支中 :( - rowana
可能是如何创建远程Git分支?的重复问题。 - Peter Badida
4个回答

27
  1. 找到你的仓库。(选择你认为它在的文件夹,并运行ls -a。如果你看到.git,那么你可能在正确的地方。
    • 如果你还没有初始化仓库,请执行以下操作之一:
      • 如果你已经复制了所有的文件,请只需运行git init
      • 如果你什么都没有,请运行git clone <https://something/foo/bar.git> <folder you want the repository to be in>。如果你没有指定文件夹,它将在当前文件夹中创建。
  2. 创建一个分支:你可以使用一个命令代替你问题中的两个命令:git checkout -b <your branch name>
  3. 对文件进行一些更改。
  4. 跟踪你的更改:git add <changed file> [<another changed file> [...]] 注意,更改的文件可以是文件夹。
    • 如果你删除了一个文件,请使用git rm <file>,这样Git就知道你已经删除了它。
  5. 提交你的更改:git commit -m "what you did"
  6. 如果你需要将你的更改推回主分支,请使用git checkout mastergit merge <your branch name>。这将把你新分支上的所有提交移动到原始分支上。
  7. 将你的更改推送到在线仓库:git push
    • 对于第一次推送任何分支,请使用以下命令代替:git push --set-upstream <https://something/foo/bar.git> <your branch name>
    • 从现在开始,你可以使用git pull将在线分支的更改合并到你的本地分支中。
    • 如果主分支上进行了应该在你的分支上的更改,请切换到你的分支并使用git rebase master

谢谢,我需要这些细节 ;) 。所以在我执行此操作之前,我通过 git init 初始化我的代码库,对吗? - rowana
1
@rowana 不,你应该已经有这个代码库了。git init 是用来创建新的代码库的。你只需要在现有的代码库中创建一个新的分支。 - Gavin
我在下载时实际上并没有使用 git clone 命令,而是将整个代码库作为一个文件夹下载了下来。 - rowana
哦,那就git init吧。 - AAM111

3

你需要将你的分支推到远程仓库。请注意,-u选项设置了本地分支的upstream,这样每次推送都会参考给定的远程分支。

git push -u origin branch_name

如果您还没有配置过远程仓库,可以通过将存储库的URL复制并添加为远程仓库来完成。
git remote add origin git@github.com:/YOU/REPO.git

执行 git remote add newBranch git@github.com:/YOU/REPO.git 命令将所有文件添加到主分支并将文件从主分支移动到新分支。那么正确的命令语法是什么? - Pran Kumar Sarkar
这是 git remote add newRemoteNameAlias git@github.com:/YOU/REPO.git。之后,您就可以推送分支了。 - user5520186
这帮助解决了我的问题。 - Ayan

2
  1. 使用 git checkout -b <branch> 创建一个分支
  2. 进行操作并提交
  3. git push --set-upstream <remote> <my_branch> 例如 origin <branch>

如果你已经设置了远程仓库,就可以按照上述步骤进行操作。如果没有设置远程仓库,请先设置一个。


我如何知道我是否在正确的代码库中创建了一个分支?(因为我只有一个要推送的文件夹,但不知道是否做得正确..!) - rowana
带有 .git 文件夹的文件夹等同于一个代码仓库。 - Peter Badida

1
  1. 从网页创建一个分支
  2. git branch 分支名 git checkout 分支名
  3. git push origin 分支名

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