我只是无法理解为什么这么容易看的东西不会写在任何地方......所以我很难在远程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。我出错的任何建设性想法?
答案 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