将分支添加到远程存储库并推送 - 工作流程

时间:2015-08-27 15:17:34

标签: git github command-line version-control git-remote

有人可以帮助我弄清楚我要采取的步骤来完成以下任务:

将分支添加到现有项目的远程存储库,并提交并推送到该分支。

我出于某种原因,过于复杂的GIT,并且很难找到资源来帮助我弄清楚我想做什么。

我想通过终端来做这件事。

我会首先连接到远程仓库,然后创建一个分支,然后在该分支上使用git init吗?

一旦我完成了某个实现,我是否会再次使用终端连接到该分支,然后检查',提交和推送?从那时起,我所做的每一项改变都只是一次推动?

目前只有一个主分支,所以我希望我的本地项目实际上包含来自该主人的所有代码(无论如何我应该分支它),然后推动我的根据需要更改分支......

3 个答案:

答案 0 :(得分:0)

只需按下分支,如果它尚不存在,它将在遥控器中创建。

例如:

git clone http://myRemoteRepo
git checkout -b myNewBranch # Create a new local branch since it's what you seem to want
#do some dev
git commit -am "My awesome commit"
git push origin myNewBranch # It will create myNewBranch in myRemoteRepo

回答评论中的问题:

  • 一旦你签出了一个分支,只要你没有结账,你就会留在那个分支上。您可以使用git branch

  • 检查您当前所在的分行
  • 当我们使用git push origin myNewBranch时,我们实际上是在对Git说:“推到你知道的'起源'的遥控器。我请你从我当地的分支'myNewBranch'推进,然后推到远程分支'myNewBranch'“

所以,这不是你签出的对你正在推动的内容产生影响的内容

  

然后在该分支上使用git init

请注意,这没有任何意义:您没有git init分支:您启动了一个新的回购。然后你可以在这个仓库上创建分支。

更重要的是,在项目一开始,您通常只需init次。 ie:当你想在本地克隆一个repo时,你只需克隆它,你不需要git init任何东西。

答案 1 :(得分:0)

  1. 首先git克隆您的远程仓库git clone XXXXX
  2. 到达您想要工作的地步git reset --HARD <whereYouWantToStart>
  3. 可能会创建自己的分支git checkout -b yourBranchName
  4. git add / git提交您的更改
  5. 将您的工作合并到某个开发或主分支`git checkout master; git merge yourBranchName'
  6. 将结果推回git push origin master' or 'git push origin yourBranchName

答案 2 :(得分:0)

如果你是唯一一个开发这个回购的人:

  1. 克隆您想在本地开发的回购。 git clone http://repoURL

  2. 创建一个新的分支(本地)进行更改。 git checkout -b newBranchName

  3. 在文件中进行本地更改。

  4. 将文件添加到要提交的更改列表中。 git add file1 file2 fileEtc

  5. 在本地提交更改。 git commit -a -m"Message explaining changed files, which will show up as part of commit on github after pushing."

  6. 将更改推送到github上的repo。 git push origin newBranchName

  7. 现在你将在github上有一个新分支,你可以在准备就绪时与你的主分支合并。

  8. 注意:在提交之前,您可以运行git status来查看未跟踪的文件。您也可以输入git branch来查看所有分支机构,以及您当前所在的分支机构。

    删除分支:git -d branchName(删除时不能在该分支上。)

    切换分支(在预先存在的分支中):git checkout branchName