远程GitStack - 创建分支

时间:2013-02-22 22:13:59

标签: git git-bash gitstack

我只是无法理解为什么这么容易看的东西不会写在任何地方......所以我很难在远程GitStack存储库上创建一个分支。我查看了几十个网页并找到了无数的建议,但是我正在尝试的任何一个,我总是最终得到“致命的:不是git存储库(或任何父目录):。git”错误消息。 我使用Web界面在GitStack中创建了一个空存储库。 到目前为止,我最好的尝试是:

git clone http://abc.def.ghi.jkl:9876/TestRepo.git

这告诉我,我已经克隆了一个空的存储库。然后我试图推动一个分支:

git push remote http://abc.def.ghi.jkl:9876/TestRepo.git

为此,我每次都收到错误消息。所以基本的问题是:我无法将我的项目推送到Git仓库,因为没有分支。但我甚至无法创建一个breanch。我出错的任何建设性想法?

3 个答案:

答案 0 :(得分:0)

首先必须在本地提交更改才能推送它们。

git add .
git commit -m "Commit message"

答案 1 :(得分:0)

最初你有一个空的本地存储库。

将一些文件添加到该文件夹​​并运行这些命令

git add *
git commit -m 'My message'

如果您正在寻找分支,请执行以下操作。

git checkout -b branchName

这会创建一个分支并自动将您移动到它。添加一些文件或更改一些文件,并在第一次执行相同操作时:

git add *
git commit -m 'My message'

现在您在master分支中有一个提交,并且在第一次提交时有一个名为branchName的分支。现在你可以留在你的新分支并继续在那里工作,或者你可以在主人和你的分支之间来回切换以在两个地方工作。

git checkout master - takes you back to master
git checkout branchName - takes you to the branch

如果要将分支合并到母版,请执行以下操作:

git checkout master
git merge branchName

然后修复冲突,如果有任何评论并继续

git add *
git commit -m 'Commit message'

希望我为你澄清

如果你想使用git push推送一个分支,那么就这么做吧

git push origin branchName:remoteBranchName

branchName是您要推送的分支的名称,remoteBranchName是您将其推送到服务器时所希望的名称。

Origin是您第一次克隆时为远程仓库指定的默认名称。如果原点不存在或您的遥控器具有不同的名称,请运行:

git remote - this will list all remotes set up

然后只使用列表中的一个名称(无论你想推送什么)

答案 2 :(得分:0)

git push remote http://abc.def.ghi.jkl:9876/TestRepo.git

这意味着您要将分支http://abc.def.ghi.jkl:9876/TestRepo.git推送到名为remote的远程。您正在寻找的是

git push origin <localBranchName>[:<remoteBranchName>]

origin是您最初克隆的远程的默认名称。您可以随意更改它(以及您可以拥有与本地存储库关联的多个遥控器),但那是另一个主题。

localBranchName是本地(工作区)存储库中分支的名称。当然它必须存在

git branch localBranchName
git checkout localBranchName

通常你应该有一些有用的东西

# do something useful
git add fileA
# and so on (or just "git add .")
git commit 

现在你可以推它

git push origin localBranchName

如果它应与本地名称相同,则可以省略remoteBranchName。顺便说一句:主要开发分支的(按惯例)默认分支名称是master(与SVN trunk比较)

更新:有待阅读的内容:) http://git-scm.com/book