【问题标题】:adding a branch to a remote repository and pushing - workflow将分支添加到远程存储库并推送 - 工作流程
【发布时间】:2015-11-22 01:36:27
【问题描述】:

有人可以帮我弄清楚我将采取哪些步骤来完成以下任务:

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

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

我想通过终端来做这一切。

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

一旦我完成了某个实现,我是否会再次使用终端连接到该分支、“签出”、提交和推送?从那以后,我所做的每一个改变都只是一个推动?

目前只有一个 master 分支,所以我希望我的本地项目实际上包含来自该 master 的所有代码(无论如何它都应该包含它,因为我正在分支它),并根据需要将我的更改推送到分支...

【问题讨论】:

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


    【解决方案1】:
    1. 首先 git clone 你的远程仓库git clone XXXXX
    2. 到达你想做的工作git reset --HARD <whereYouWantToStart>
    3. 可能会创建自己的分支git checkout -b yourBranchName
    4. git add/git commit 你的修改
    5. 将您的工作合并回某个开发或主分支 `git checkout master;git merge yourBranchName'
    6. 将结果返回git push origin master' or 'git push origin yourBranchName

    【讨论】:

    • 另外,在开始之前,您可能需要阅读有关 Git 的参考资料。好消息是有大量免费教程,例如git-scm.com/book/en/v2/Getting-Started-About-Version-Control。坏消息是,您将不得不投入一些时间(可能每天 1/2 或阅读)才能起床并了解更多。
    • 顺便说一句,Code School 有一个名为“Try Git”的免费课程codeschool.com/courses/try-git 让您了解基础知识。它可能是加快速度的最简单方法之一。此外,看起来他们也有一些付费的 git 眼镜。
    【解决方案2】:

    只需推送分支,如果它不存在,它将在远程创建。

    例如:

    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

    • 查看您当前所在的分支 1234563远程分支'myNewBranch'"

    因此,影响您推送的内容的并不是您签出的内容


    然后在那个分支上 git init

    请注意,这没有任何意义:你没有git init 一个分支:你初始化了一个新的 repo。然后你可以在这个 repo 上创建分支。

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

    【讨论】:

    • 我实际上是从一开始并试图弄清楚我的思维过程是否有意义。虽然这可能会回答最初的问题,但我正在尝试更多地了解事物的流程以及为实现所需的最终结果而采取的实际步骤。
    • 对我的最后一段进行了编辑。我在这方面的错误,我让它看起来像是我想推给主人。
    • 假设我将在这个项目中使用 xcode:我克隆了原始 repo 并成功创建了一个名为 BB 的分支并签出到该分支。我是否只是打开克隆的 repo,开始对现有项目做一些工作,然后提交并推送我的更改?是否会在终端上较早签出分支作为首选项,这意味着从那时起所有推送都将进入该分支?很抱歉一直问,但你的回答让我更接近了!
    【解决方案3】:

    如果您是唯一开发此 repo 的人:

    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 上的存储库。 git push origin newBranchName

    7. 现在您将在 github 上创建一个新分支,准备好后您可以将其与您的 master 分支合并。

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

    要删除一个分支:git -d branchName(删除时不能在那个分支上。)

    切换分支(在现有分支中):git checkout branchName

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多