1

我有一个只向 github 发送两个子目录的 gitignore。

我的 gitignore

/*
!/conf
/conf/*
!/conf/jingle_profiles
!/conf/dialplan

这会将两个子目录(dialplan、jingle_profiles)上传到 github。

我想将这些子目录克隆到根文件树(/usr/local/freeswitch)中,并让它们保持这两个子目录同步而不删除其他所有内容。

编辑:

我得到的错误:

sudo git clone https://github.com/dgmcguire/freeswitch.git

fatal: destination path 'freeswitch' already exists and is not an empty directory.
4

2 回答 2

2

git clone需要一个空目录,但随后的拉取不会对忽略的文件做任何事情。

因此,只需在内部创建一个空子目录,然后在该子目录/usr/local/freeswitch中执行您的操作git clone,然后将该子目录的内容移动到/usr/local/freeswitch.

应该是这样的:

mkdir /usr/local/freeswitch/git_tmp
cd /usr/local/freeswitch/git_tmp
git clone https://github.com/dgmcguire/freeswitch.git
mv /usr/local/freeswitch/git_tmp/* /usr/local/freeswitch/
rm -r -d /usr/local/freeswitch/git_tmp

我不是 linux 人,所以使用的命令可能存在一些错误——但是意图应该很清楚。

于 2013-01-21T17:35:26.907 回答
-1

.gitignore不是特别相关的github或上传的东西。它控制 git 在检查未跟踪文件时考虑哪些文件。

我建议您更多地了解 git 的工作原理。ProGit 是一个非常非常好的资源——这里是讨论 .gitignore 的地方,但你真的应该阅读前几章。

于 2013-01-21T17:30:44.750 回答