我刚刚创建了一个个人Github帐户,并希望从我的Ruby on Rails应用程序提交特定文件。
目前我的应用程序有一个公司存储库,我想对我的个人存储库进行一次提交。
例如,我想将images_controller.rb提交到我的个人存储库。它没有改变,我也不想改变它。
我已尝试git update-index --no-assume-unchanged app/controllers/grandstreamers/images_controller.rb
然后添加它。它没有上演。
如何将特定文件添加到提交阶段?谢谢
答案 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做你想做的。为了使它实际上按照你想要的方式行事,有时你也必须欺骗它。