我花了很长时间试图弄清楚这一点,但我就是不能让它以我需要的方式工作(也许我想要的甚至是不可能的)。
以下是我的情况和我想要达到的目标:我在Windows 7工作。我正在开发一个网站,我使用NetBeans 7.2来管理我的项目。该网站应在具有FTP/FTPS访问权限的远程网站托管上发布。尽管我将是唯一一个在这个网站上工作的人,我想使用GIT进行版本控制(我以前从未使用过任何版本控制),因为我想学习如何使用它,而且我想从两台不同的计算机(都使用NetBeans)开发网站,所以我认为它可能真的对我有帮助。
我相信GIT在NetBeans中得到了很好的支持,但是GIT和FTP可能仍然存在一些问题。因此,我安装了NetDrive,并在Windows
下为我的FTP服务器创建了一个虚拟驱动器(虚拟驱动器工作良好,我可以例如简单地编辑那里的文件,它显示在web上)。我想我想要达到的目标越来越清晰了。我读了这篇很好的文章:http://hoth.entp.com/output/git_for_designers.html和我想做的正是图2中文章。
我还阅读了这个NetBeans GIT教程:http://netbeans.org/kb/docs/ide/git.html
因此,我在新的虚拟驱动器(代表FTP服务器)上创建了一个NetBeans项目,初始化了一个GIT存储库,并执行了第一次提交(全部使用NetBeans菜单)。
然后我将GIT存储库克隆到一个本地目录,并在该目录中创建了一个NetBeans项目。克隆进行得很顺利,我把文件放在了我的本地目录中,这样我就可以编辑它们了。
编辑并提交文件后,我试图通过菜单GIT-Remote-> push 将存储库推回到虚拟驱动器(FTP服务器)。我可以在那里的下拉菜单中看到原始存储库(origin:file:///my_virtual_drive_and_path_to_the_directory)。所以我点击下一步,选择分支…根据输出,一切正常。
但是我的虚拟驱动器(FTP服务器)上的实际文件没有改变! GIT存储库版本改变了,但是服务器上的文件还是和我编辑之前一样。
如果这一切都有效,我也会在我的另一台计算机上安装NetDrive,为我的FTP服务器创建一个虚拟驱动器,克隆GIT存储库,然后我就可以在GIT版本控制的帮助下在我的另一台计算机上工作了。这样我就只会"推"one_answers"拉",我就会很高兴了。
但是现在我的头要爆炸了。请告诉我我想要的是否可能,我的方向是否正确,我在哪里犯了错误。
谢谢。
基本上,看起来您的推送没有导致签出。看一下http://toroid.org/ams/git-website-howto,可能会有所帮助。
你对push的工作方式/作用有误解。推送更新的是repo内容/历史,而不是签出工作副本。因为这会导致混乱的情况(你可能已经注意到了;),你通常不会推送到一个有工作副本的repo。
但在你的情况下,这显然是你的系统的一部分,但你需要设置git使其工作。使用Git push