如何仅将特定目录提交到远程分支? (删除所有其他内容)

时间:2018-08-23 13:27:42

标签: git deployment bitbucket plesk continuous-deployment

我有一个名为deployment的分支,我只想将文件夹dist的内容推送到远程存储库中的该分支,删除所有其他内容。

到目前为止,我已经尝试过

  • git push标记--prefix
  • cd distgit push

观察

  1. 一条警告,说它已经是最新的
  2. 远程具有所有内容(而不仅仅是'dist'文件夹)

如何在提交中仅选择dist/文件夹?

1 个答案:

答案 0 :(得分:1)

据我了解,您想

  

仅将特定目录提交到远程分支(删除所有其他内容)

由于deployment是从具有所有文件的分支中创建(分支)的,因此您需要在deployment分支中删除不需要的文件。您可以通过以下步骤进入所需状态:

  1. 提取最新更改:git reset --hard HEAD; git fetch
  2. 转到您的分支机构:git checkout deployment
  3. 删除不需要的文件/目录( dist / 除外):find * -maxdepth 0 -name 'dist' -prune -o -exec rm -rf '{}' ';'
  4. 阶段删除的更改:git add .
  5. 提交并推送到远程:git commit -m "Commit message"; git push origin deployment

希望有帮助!