Git添加要提交的未更改文件

时间:2014-04-16 16:04:04

标签: git github

我刚刚创建了一个个人Github帐户,并希望从我的Ruby on Rails应用程序提交特定文件。

目前我的应用程序有一个公司存储库,我想对我的个人存储库进行一次提交。

例如,我想将images_controller.rb提交到我的个人存储库。它没有改变,我也不想改变它。

我已尝试git update-index --no-assume-unchanged app/controllers/grandstreamers/images_controller.rb然后添加它。它没有上演。

如何将特定文件添加到提交阶段?谢谢

3 个答案:

答案 0 :(得分:1)

如果“未更改”你的意思是“该文件已经在回购中并且我正在尝试再次添加/提交”,那么答案是:不,你不能也不需要这样做。该文件已经是repo的一部分,因此没有git能够添加的其他信息。因此,它不会暂存文件。 如果您想为特定目的标记现有文件,请考虑改为使用git tag

如果“未更改”,则表示“该文件存在于不同的回购/位置,我想将其添加到新的回购中,而不进行编辑”,然后确保您当前的目录位于要添加文件的repo下,并且该文件也在新repo的主目录中(在同一路径的子目录中很好)。然后你应该能够git add该文件。

答案 1 :(得分:1)

Git跟踪整个文件夹中的文件。根据您的问题,我假设您的本地git repo包含所有文件 - 而remote是一个“work”遥控器,并且您希望在您的个人github帐户中拥有该repo中的单个文件。

为此,将您选择的文件(images_controller.rb)复制到一个单独的文件夹,然后在该新文件夹中,初始化一个新的git repo:

git init

然后将您的github仓库添加为远程

git add remote origin git@github.com:your_github_name/your_repo_name.git

然后添加您的文件 -

git add .

提交 -

git commit -m 'commit message'

然后按

git push origin master

Tadaa!你现在应该把你的文件放在github上。

答案 2 :(得分:0)

如果git不包含你想要的文件,请通过git,commit删除文件,然后恢复提交:文件将被包含。

$ git rm recommit_this_file
$ git commit -m "Revert this commit."
$ git revert HEAD

并不总是足以强迫" git做你想做的。为了使它实际上按照你想要的方式行事,有时你也必须欺骗它。