Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 将分支添加到远程存储库并推送-工作流_Git_Github_Command Line_Version Control_Git Remote - Fatal编程技术网

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

Git 将分支添加到远程存储库并推送-工作流,git,github,command-line,version-control,git-remote,Git,Github,Command Line,Version Control,Git Remote,有人能帮我找出我要采取的步骤来完成以下任务吗: 将分支添加到现有项目的远程存储库,然后提交并推送到该分支 出于某种原因,我过度复杂化了GIT,很难找到资源来帮助我找到我想要做的事情 我想在整个航站楼都这么做 我会先连接到远程repo,然后创建一个分支,然后在该分支上创建git init吗 一旦我完成了一个特定的实现,我会再次使用终端连接到那个分支“签出”、“提交”和“推送”吗?从那时起,我所做的每一个改变都只是推动 目前只有一个主分支,因此我希望我的本地项目实际包含来自该主分支的所有代码(因为我

有人能帮我找出我要采取的步骤来完成以下任务吗:

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

出于某种原因,我过度复杂化了GIT,很难找到资源来帮助我找到我想要做的事情

我想在整个航站楼都这么做

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

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


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

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

例如:

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说:“推到远程,你称之为‘origin’。我要求你从我的本地分支‘myNewBranch’推到远程分支‘myNewBranch’。”

所以,不是你检查出来的东西对你推动的东西有影响


然后在该分支上使用git init

请注意,这毫无意义:您不需要
gitinit
a分支:您需要初始化一个新的回购。然后,您可以在此回购协议上创建分支

此外,通常在项目开始时,您只需
init
一次。ie:当你想在本地克隆回购协议时,你只需克隆它,你不需要
gitinit
任何东西

  • 第一个git克隆您的远程repo
    git克隆XXXXX
  • 到达您想要执行工作的点
    git reset--HARD
  • 可能创建自己的分支
    git checkout-b yourBranchName
  • git添加/git提交您的更改
  • 要么将您的工作合并回某个开发部门,要么主分支`git checkout master;git合并你的分支名'
  • 向后推送结果
    git推送原始主机”或“git推送原始主机yourBranchName

  • 如果您是唯一一个开发此回购的人:

  • 克隆要在本地开发的repo<代码>git克隆http://repoURL

  • 创建一个新分支(本地),对其进行更改<代码>git签出-b newBranchName

  • 在本地对文件进行更改

  • 将文件添加到要提交的更改列表中<代码>git添加文件1文件2文件等

  • 在本地提交更改
    git commit-a-m“解释已更改文件的消息,推送后将作为提交的一部分显示在github上。”

  • 将更改推送到github上的回购<代码>git推送源名称

  • 现在,您将在github上有一个新分支,准备好后可以将其与主分支合并

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

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


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

    我从第一步开始,试图找出我的思维过程是否有意义。虽然这可能回答了最初的问题,但我正试图了解更多关于事情的流程以及为达到预期的最终结果而采取的实际步骤。对我的最后一段进行了编辑。在这方面我犯了一个错误,我让它看起来像是我想推到主机上。假设我将使用xcode进行这个项目:我克隆了原始的回购协议,成功创建了一个名为BB的分支,并签出到该分支。我是否只是打开克隆的回购协议,开始对现有项目进行一些工作,并提交和推动我的更改?在终端上较早地签入分支是否作为首选项持续存在,这意味着从那时起所有推送都将进入该分支?很抱歉一直问你,但你的回答让我离你更近了!此外,您可能希望在开始之前阅读Git上的参考资料。好消息是有很多免费教程,例如。坏消息是,你将不得不投入一些时间(可能一天半或阅读)来站起来,去了解更多。顺便说一句,代码学校有一个名为“Try Git”的免费课程,让你学习基础知识。这可能是最容易跟上进度的方法之一。此外,看起来他们还有一些付费的git眼镜。