Git命令用于获取未提交的远程更改

时间:2014-08-22 16:35:14

标签: git

目前,当我学习git(总新手)时,我是一个单人演出,在一个本地主回购工作,然后在提交和测试后将更改推送到远程主回购。这很好用。没有其他人参与。

现在,对于经验丰富的人来说,这可能听起来很疯狂,但有时我使用sFTP直接将文件更改为服务器上的文件,比如说myfile.html

这样做会让我处于这样的情况:遥控器上的myfile.html在本地仓库中有我需要的更改。即远程文件比我的本地版本更进一步。所以......

我的问题是:如果通过ftp在远程修改了文件,例如,更改未经git注册,那么如何通过Fetch进行更改/拉?如果我现在尝试,我告诉本地/远程是最新的。

有没有办法与遥控器通话,检查是否有任何需要暂存/提交的已更改文件的方式可以在本地计算机上执行?

如果没有,有没有办法,使用git,比较本地遥控器上的文件,所以我至少可以看到差异,并将我的编辑拖回我的本地机器?

1 个答案:

答案 0 :(得分:1)

根据Chris的建议,我发布了这个答案。

Git有时被托管为平台即服务(如Heroku,或者在我的情况下,是WP-Engine'" Git Push")。

这些安装通常基本上都是单行道。我们的想法是创建一个本地或分布式git dev环境,然后在测试时将文件推送到它们。所以这里的git push有点像sFTP,因为文件直接进入生产环境(当然你也可以使用登台服务器)。

但是,如果用户通过FTP或Web界面直接创建或编辑文件,则无法使用此类系统进行暂存和提交。当你git pull / fetch时,你会被告知你的文件是最新的,即使它们不是因为git在服务器和你的回购中看到的没有区别。

简而言之,在这样的平台上,git并不会注意你在git之外所做的事情。

如果您通过sFTP进行了远程更改,则通过sFTP将其下载到本地安装以更新本地文件,然后暂存并提交备份,以便进入回购。

在其他平台上,如Github,环境受到控制,因此您只能通过git知道的方法更改文件。因此,您不会创建超出git意识的文件。

最后,如果您在自己的(或托管的)服务器上运行git,您可以“或多或少”#34; (我不是专家)终端作为服务器上的用户,检查未分级的更改并像在本地计算机上一样提交。如果您需要这样做,我相信此论坛上的专家可以提供帮助。