繁体   English   中英

Git拉入没有git文件夹的现有项目

[英]Git pull into existing project without git folder

这似乎应该是一个常见问题,但是也许我不是在寻找正确的术语。

我只是使用scp将远程服务器上的旧项目复制到本地计算机上。 我使用git init创建了一个git存储库的新实例,并使用git remote add origin ...创建了一个新的远程git存储库,并将其推送到了。 这是git跟踪的项目的第一个实例。

我创建了一个.gitignore文件,因此并非所有内容都被推送到远程存储库,并且在初始提交之后我还推送了一些小的更改。

现在,我希望将存储库拉到远程服务器上的原始项目。 它显然没有.git文件夹。 我希望撤消更改,但将文件保留在.gitignore中,因此我不能简单地擦除目录并执行干净的git clone

我只有SSH存取权。 我该怎么办?

Ok找出了一种使用ssh对我有用的方法。

将本地项目.git文件夹复制到远程服务器目录上的项目。 您可能必须复制到具有正确权限的文件夹,然后移动.git文件夹

scp /local/path/to/.git user@remote:/remote/path/to/temp/folder

更改.git的所有权并将其移至现有项目目录

chown -R www-data:www-data .git/
mv .git/ /var/www/....

执行git status显示更改的文件和未跟踪的文件。 就我而言,“已更改”文件是我想覆盖的旧文件,而未跟踪文件是我在.gitignore中指定的文件所在的位置。

因此,要将文件“还原”到分支中的新版本(存储在.git文件夹中)并忽略未跟踪的文件,我只是做了

git checkout .

这也添加了.gitignore文件,我也不得不对其进行了chown

这在只有主分支的项目上进行了测试,但是我希望这对以后的人们有所帮助。 我的术语可能不太适合描述git的过程,但希望每个人都能理解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM