2015-09-18 119 views
3

我是git的新人,对任何版本控制系统都没有经验。我在本地开发,并且正在寻找一种比FTP更简单的方式将文件部署到(LAMP)Web服务器。当我推送更改时,我很难配置Git(版本2.5 for Windows)来自动更新其当前工作目录。这里是我做了什么,下别名origin创建本地回购,做第一次提交,并添加远程位置后:Git receive.denyCurrentBranch updateInstead失败

  1. [远程] ssh [email protected]
  2. [远程] cd testgit
  3. [远程] git init
  4. [远程] git config receive.denyCurrentBranch updateInstead
  5. [远程] git status:没有提交
  6. [远程] exit
  7. [本地>>主] git status:无添加,但未跟踪文件呈现
  8. [本地>>主] git push origin master

步骤8生成一个通知和两个错误:

  • stdin: is not a tty
  • fatal: bad config value for 'receive.denycurrentbranch' in config
  • fatal: Could not read from remote repository

我一直在环顾四周,但我卡住了。我究竟做错了什么?

+0

你有没有创建任何提交? – TheGeorgeous

+0

是的,我在尝试推送之前在本地进行了第一次提交。我在OP中写过,就在步骤列表之前。 – BeetleJuice

回答

3

首先,您需要在推送之前添加和提交:如果您有未跟踪的文件,那么在您添加和提交之前不会推送它。

二,“receive.denyCurrentBranch updateInstead”is only for git 2.3+ (February 2015):确保你在服务器端有合适的git版本。

git应该单独安装在服务器上吗?我的Windows机器上有git 2.5。我没有在服务器上专门安装任何东西

是的,你也需要在服务器上安装git。

+0

我在本地做了第一次提交。我在OP中写道,刚刚在步骤1之上。我不允许有任何未跟踪的文件? Re:第二:git应该单独安装在服务器上吗?我的Windows机器上有git 2.5。我没有专门在服务器上安装任何东西。 – BeetleJuice

+0

谢谢。我在服务器上运行了'git --version'。版本是1.8.3。我会研究如何升级git,然后再次测试我的初始步骤。 – BeetleJuice

+0

@Patrick我确认:1.8.3不会支持'receive.denyCurrentBranch'的'updateInstead'。 – VonC