6

我在 git repo 中有我当前的 sublime-text-2 “Packages/User”文件夹(在 github 上)

既然我在新计算机上,如何将其克隆到现有文件夹“Application Support/Sublime Text 2”中?

这是回购:http:
//github.com/andxyz/sublime-text-2-configs

这是新计算机上的现有文件夹:

cd /Users/andxyz/Library/Application\ Support/Sublime\ Text\ 2/Packages/User
4

3 回答 3

6

以下内容在 OSX mavericks 1.9.2 机器上为我工作(在我得到我的 github ssh 克隆的东西之后)我这样做了:

git clone git@github.com:andxyz/sublime-text-2-configs.git ~/temp-sublime-text-2-configs
mv ~/temp-sublime-text-2-configs/.git ~/Library/Application\ Support/Sublime\ Text\ 2/.git
rm -rf ~/temp-sublime-text-2-configs
cd ~/Library/Application\ Support/Sublime\ Text\ 2/
git checkout --force master

原因是我们可以将隐藏.git文件夹从临时存储库移动到现有文件夹中。然后移动到该文件夹​​并强制git checkout使用--force.

于 2014-04-01T03:18:51.037 回答
1

从这里:https ://stackoverflow.com/a/13738951/1601989

根据您的问题调整:

您正在尝试执行的操作称为稀疏结帐,该功能已在 git 1.7.0(2012 年 2 月)中添加。进行稀疏克隆的步骤如下:

cd /Users/andxyz/Library/Application\ Support/Sublime\ Text\ 2/
rm -rf Packages # to delete current files there
git init
git remote add -f origin http://github.com/andxyz/sublime-text-2-configs

这将使用您的遥控器启动一个空存储库。然后做:

git config core.sparsecheckout true

现在您需要定义要实际签出的文件/文件夹。这是通过在 .git/info/sparse-checkout 中列出它们来完成的,例如:

echo "Packages" >> .git/info/sparse-checkout

最后但同样重要的是,使用远程状态更新您的空仓库:

git pull origin master

您可能想查看扩展教程,并且您可能应该阅读稀疏结帐的官方文档。

编辑:在进一步思考为什么我在任何地方都没有真正使用稀疏结帐后,我意识到我为此使用了符号链接。

只需克隆您的存储库并创建指向所需目录的符号链接。

于 2014-04-24T04:27:35.660 回答
0

也许使用 cURL 可能是另一种选择?这是一个单行:

$ cd ~/Library/Application\ Support/Sublime\ Text\ 2/; zip -r Packages-$(date +%Y%m%d%I%M%S).zip ./Packages; rm -rf ./Packages; curl -#L https://github.com/andxyz/sublime-text-2-configs/tarball/master | tar -xzv --strip-components 1 --exclude={.gitignore,README.md}

逐行细分:

移动到您所在的Packages位置:

cd ~/Library/Application\ Support/Sublime\ Text\ 2/;

Packages创建现有文件夹的备份 zip (可选)

zip -r Packages-$(date +%Y%m%d%I%M%S).zip ./Packages;

为了保持干净,请删除现有Packages文件夹:

rm -rf ./Packages;

最后,cURL 你的 repo 的 master 分支并下载最新的 tarball;忽略样板文件(如 README)并在当前位置提取文件:

curl -#L https://github.com/andxyz/sublime-text-2-configs/tarball/master | tar -xzv --strip-components 1 --exclude={.gitignore,README.md}

奖金:

您可以创建一个bash 函数,使其成为简单的单行 bash 函数调用。

于 2014-04-24T01:16:40.633 回答