有人可以帮助我弄清楚我要采取的步骤来完成以下任务:
将分支添加到现有项目的远程存储库,并提交并推送到该分支。
我出于某种原因,过于复杂的GIT,并且很难找到资源来帮助我弄清楚我想做什么。
我想通过终端来做这件事。
我会首先连接到远程仓库,然后创建一个分支,然后在该分支上使用git init吗?
一旦我完成了某个实现,我是否会再次使用终端连接到该分支,然后检查',提交和推送?从那时起,我所做的每一项改变都只是一次推动?
目前只有一个主分支,所以我希望我的本地项目实际上包含来自该主人的所有代码(无论如何我应该分支它),然后推动我的根据需要更改分支......
答案 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)
git clone XXXXX
git reset --HARD <whereYouWantToStart>
git checkout -b yourBranchName
git push origin master' or 'git push origin yourBranchName
答案 2 :(得分:0)
如果你是唯一一个开发这个回购的人:
克隆您想在本地开发的回购。 git clone http://repoURL
创建一个新的分支(本地)进行更改。 git checkout -b newBranchName
在文件中进行本地更改。
将文件添加到要提交的更改列表中。 git add file1 file2 fileEtc
在本地提交更改。 git commit -a -m"Message explaining changed files, which will show up as part of commit on github after pushing."
将更改推送到github上的repo。 git push origin newBranchName
现在你将在github上有一个新分支,你可以在准备就绪时与你的主分支合并。
注意:在提交之前,您可以运行git status
来查看未跟踪的文件。您也可以输入git branch
来查看所有分支机构,以及您当前所在的分支机构。
删除分支:git -d branchName
(删除时不能在该分支上。)
切换分支(在预先存在的分支中):git checkout branchName