我有一个git回购在目录中有文件。使用git回购覆盖目录
我在我的Linux机器上有一个目录,它与旧版本 有类似的文件来自某处。
Linux中还包含数千个重要文件,这些文件不能被移动,复制或删除,并且不受git管理。
我需要一个命令,将下载/结帐/克隆(我不在乎)该回购协议中的git文件 ,并覆盖任何现有文件的旧版本和/或创建它们,如果它们不存在但不删除非托管数据。
没有我试过的作品,你如何做到这一点?
谢谢。
我有一个git回购在目录中有文件。使用git回购覆盖目录
我在我的Linux机器上有一个目录,它与旧版本 有类似的文件来自某处。
Linux中还包含数千个重要文件,这些文件不能被移动,复制或删除,并且不受git管理。
我需要一个命令,将下载/结帐/克隆(我不在乎)该回购协议中的git文件 ,并覆盖任何现有文件的旧版本和/或创建它们,如果它们不存在但不删除非托管数据。
没有我试过的作品,你如何做到这一点?
谢谢。
如果覆盖文件较旧,如果它们不存在则创建新文件,我认为您需要使用rsync
。网上有很多指南。 rsync
也有一个--dry-run
选项来测试您正在运行的命令的效果。
是的'rsync'是为你一般想要做的事情而做的工具。 – willoller
所以你想最终得到一个你最新版本的git仓库,但是有很多额外的文件你不想让git来管理?这可能不是一个好主意,因为原因,但我会继续前进。
关闭我的头顶,所以一定要小心:
你可以在当前目录中尝试git init
。这将开始管理目录的git,但一切都将git“新”。
接下来,git add remote
将您现有的回购添加为远程。这会让你在不改变工作目录的情况下访问最新的git状态。
然后,git reset origin/master --hard
应导致任何跟踪的文件被覆盖最新版本从origin
。如果你的本地文件系统上有更新的文件,它们将被覆盖!所以小心!
(但你可能要重新考虑整个事情。我将与我在Linux中项目的重新检出快乐,在另一个目录,并保留老版本分开)
是你计划从Git的某个分支做到这一点?无论如何,我不认为Git与你的问题有太大关系。您的问题减少到有选择地用另一个文件夹中的内容覆盖一个文件夹。 –