推送到Bitbucket repo默默地失败,没有任何改变

时间:2011-11-17 21:53:03

标签: git bitbucket

过去我使用过svn和cvs,但从不使用BitBucket或Git。我刚刚获得了一个与空项目关联的BitBucket帐户。

我阅读Getting Started with Bitbucket并在我的BitBucket页面上我应该执行以下操作:

git clone https://bitbucket.org/REST_OF_URL/...

我使用Git提供的URL;它成功接受我的密码没有任何麻烦。但它会打印以下内容:

  

警告:您似乎克隆了一个空存储库。

这对我来说很有意义,因为我刚刚注册了BitBucket。

这会生成一个名为myproject的目录。然后我将一个文件复制到该目录并将其添加到存储库中:

cd myproject
echo 'Hello Git!' > hello.txt
git add hello.txt

我检查了状态:

git status

并看到hello.txt被识别为新文件。

然后我尝试将文件推送到服务器:

git push https://bitbucket.org/REST_OF_URL/...

再次,我输入了我的密码并没有抱怨。 它写着:

  

一切都是最新的

但该文件在我的在线Git项目中显示。我还注意到有一个git commit命令。我也尝试过这个:

git commit -m "Initial project set up"

输出显示:

  

您的姓名和电子邮件地址是根据自动配置的   您的用户名和主机名。请检查它们是否准确。

由于文件仍未显示在我的目录中,我觉得我必须在自己的机器上进行本地提交。任何人都可以通过告诉我来帮助我

  • 使用Git
  • 设置一个简单项目时我缺少什么
  • 我在本地计算机上提交这些文件的地方(我很难获得磁盘空间而且不希望任何混乱)

正如另一位用户从the Git BitBucket manual体验到的那样,当您推送

时,它只会传输
git push origin master

但是当你用

推进时,工作
git push

这解决了我的问题,但我仍然不知道为什么会这样。

4 个答案:

答案 0 :(得分:6)

简单的解决方案是第一次使用master分支推送:

$ git push origin master

然后,您可以使用git push默认推送到Bitbucket(主分支)。

答案 1 :(得分:3)

git add仅将文件添加到本地索引,以便可以提交。你首先需要git commit(你做过),然后git push你对BitBucket的提交,这样他们就会出现在那里。

您认为自己在当地提交是正确的。这可能是分散版本控制系统(DVCS)的定义特征之一。您可以在本地计算机上获得项目历史的完整副本。当您git push时,您将本地提交的提交发送给BitBucket。

您的项目文件夹顶层应该有一个.git目录。这是所有元数据的用武之地。

答案 2 :(得分:0)

您可能希望在http://www.ava.co.uk/git查看这些视频。其中有9个,平均每个约4分钟,完成基础知识,希望能够平息一个陡峭的学习曲线...随意宣传此条目如果您发现视频有益

答案 3 :(得分:0)

使用Bitbucket,您还可以选择使用Mercurial,它比Git更容易使用,并使其术语更接近Subversion。我个人确实主要使用Git,但仍然很努力地抓住它的概念和实现。对我来说,Mercurial更容易使用,尽管过去从未使用过Subversion。我从命令行使用Git和Mercurial,因此这不是对CLI的厌恶。

是的,您的提交始终是Git和Mercurial的本地提交,然后您将其推送到Bitbucket或其他服务器或托管解决方案。如果您希望继续使用Mercurial(甚至可能与Git派上用场,因为概念相似),您可能需要阅读Hg Init至少阅读intro对比分布式SCM到集中模型。如果你想要一个面向Git的资源或书籍考虑Pro Git,但它不如Hg Init那么好(或简短)。