Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GIT中仅推送从特定提交开始的特定引用和文件_Git_Github_Branch - Fatal编程技术网

如何在GIT中仅推送从特定提交开始的特定引用和文件

如何在GIT中仅推送从特定提交开始的特定引用和文件,git,github,branch,Git,Github,Branch,我的博士学位有一个本地GIT存储库。我想在GitHub上创建一个私有存储库,其中只包含我的主管的主要博士文档和文章(降价文件) 我创建了一个新分支,在其中我删除了所有内容,然后我从man PhD aranch中签出了特定文件,并从以下分支中签出了文章: git checkout phd_main Dissertation/dissertation.md 因此,我的管理分支中的工作树只包含我刚刚签出的路径 但是,当我提交并推送到GitHub存储库时,所有文件和引用都被推送到GitHub存储库,所

我的博士学位有一个本地GIT存储库。我想在GitHub上创建一个私有存储库,其中只包含我的主管的主要博士文档和文章(降价文件)

我创建了一个新分支,在其中我删除了所有内容,然后我从man PhD aranch中签出了特定文件,并从以下分支中签出了文章:

git checkout phd_main Dissertation/dissertation.md
因此,我的管理分支中的工作树只包含我刚刚签出的路径

但是,当我提交并推送到GitHub存储库时,所有文件和引用都被推送到GitHub存储库,所有内容都可以读取。有趣但不幸的是,在本地,我的分支中只有
demission/demission.md
文件,但在远程,我拥有一切


我怎样才能拥有一个只包含特定签出文件的分支,并且只将这些文件和引用推送到从该分支中第一次提交开始的版本中。

使用git checkout--Orphant branchname创建新分支。这将创建一个名为
branchname
的分支,该分支没有历史记录,这就是您要查找的内容。

要创建一个空分支,您需要使用

git checkout --orphan <branchname>

由于git是一个版本控制工具,它自然也会存储旧版本。如果这不是您想要的,那么您可能不应该首先使用版本控制工具。不幸的是,所有其他文件仍被推送到新的存储库。我想是因为它们仍然是提交历史记录的一部分。签出新分支后是否删除了这些文件?是的,这很奇怪。我不再在本地使用它们,但当我按下时,它们会重新出现在远程回购中。我真的不明白为什么他们已经上演了?运行
git status
以确保索引为空,如果不是,则运行
git rm
文件。
git commit -m <commit message>
git push origin <branchname>
*
!*.md