5

我目前在 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

完成此操作后,即使我从未使用 git add 命令“添加”它们,目录中的所有文件也会上传到我的新仓库。所有这些文件都已经在我的旧仓库中,只是基本上想将 1 个文件移动到新仓库中。git status 只返回“# On branch master nothing to commit (working directory clean)”

4

1 回答 1

4

你的本地仓库不能是新的,因此当你添加一个新的远程仓库时,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
于 2013-07-23T04:19:34.903 回答