Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.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
将目录中的单个文件推送到github新存储库?_Git_Github - Fatal编程技术网

将目录中的单个文件推送到github新存储库?

将目录中的单个文件推送到github新存储库?,git,github,Git,Github,我目前在一个repo中有一个文件,并且已经创建了一个新的repo,但是如果不同时推送目录的全部内容,就无法在新的repo上获取该文件。我只想从目录中推送一个文件,而不是推送所有其他内容。我一直在做 git add mygame.rb git commit -m 'game scores' git add remote new_origin github.com/etc... git push new_origin master 完成后,目录中的所有文件都将上载到我的新repo,尽管我从未使用g

我目前在一个repo中有一个文件,并且已经创建了一个新的repo,但是如果不同时推送目录的全部内容,就无法在新的repo上获取该文件。我只想从目录中推送一个文件,而不是推送所有其他内容。我一直在做

git add mygame.rb
git commit -m 'game scores'
git add remote new_origin github.com/etc...
git push new_origin master
完成后,目录中的所有文件都将上载到我的新repo,尽管我从未使用git add命令“添加”它们。所有这些文件都已经在我的旧回购协议中,只是基本上想将1个文件移动到新回购协议中。 git状态仅在分支主机上返回“#”
“无需提交(工作目录清理)”

您的本地repo不能是新的,因此当您使用
git remote add…
添加新远程时,将使用
git push…
推送其他文件和历史记录。这实际上是git的一个非常酷的特性

如果您想用自己的历史记录启动一个新的远程存储库,并且只将
mygame.rb
作为一个文件,您可以轻松地:

mkdir <full_directory_path>
cp mygame.rb <full_directory_path>
cd <full_directory_path>
git init
git add mygame.rb
git commit -m 'game scores'
git remote add origin github.com/etc...
git push origin master:master
mkdir
cp mygame.rb
光盘
初始化
git add mygame.rb
git提交-m“游戏分数”
git远程添加源github.com/etc。。。
git推送源主机:主机

git ls files
如果它列出了您的所有文件,可能是您意外地将所有文件添加到了索引中。如果是这样,请使用git reset取消跟踪这些文件并将其从索引中删除。然后,您可以单独推送一个文件。使用git reset命令后,然后使用git ls files,它仍然会列出目录中的所有文件。因此,您有两个存储库,一个存储库中有多个旧文件,您希望仅使用
mygame.rb
?@Ordep81:我的错误:)创建一个新的repo<代码>git rm--缓存的文件名。不是git Rest你是说用git remote add
git remote add
而不是git add remote?这样做是可行的,但完全不明白为什么。所以同一目录中的文件不能在不同的repo中?是的,一个目录中的文件可以在多个远程repo中。这就是为什么我说这是git真正酷的特性。新的远程存储库将获得原始存储库的所有历史记录和所有文件。使用git运行镜像非常容易。在我工作的地方,我们有一个远程存储库,我们认为是一个沙箱,在那里没有正式发布,我们可以重写历史,然后推到更正式的远程存储库,在那里用户有一定的权限和策展人可以签署。我们的本地目录代表这两个存储库。