【问题标题】:Unable to commit to gitbucket from cloud9 because of .c9 files由于 .c9 文件,无法从 cloud9 提交到 gitbucket
【发布时间】:2015-04-12 04:11:46
【问题描述】:

在切换分支之前提交您的更改或存储它们。

错误:结帐时将删除以下未跟踪的工作树文件:
.c9/元数据/tab1
.c9/元数据/tab11
.c9/元数据/tab12
.c9/元数据/tab17
.c9/元数据/tab18
.c9/元数据/tab23
.c9/元数据/tab24
.c9/元数据/tab25
.c9/元数据/tab26
.c9/元数据/tab27
.c9/元数据/tab28
.c9/metadata/tab29
.c9/元数据/tab30
.c9/元数据/tab31
.c9/元数据/tab33
.c9/元数据/tab5
.c9/元数据/tab6
.c9/元数据/tab8
.c9/元数据/tab9
.c9/metadata/workspace/README.md
.c9/metadata/workspace/app/controllers/application_controller.rb
.c9/metadata/workspace/app/controllers/candy_pages_controller.rb
.c9/metadata/workspace/app/views/candy_pages/butterfinger.html.erb
.c9/metadata/workspace/app/views/candy_pages/home.html.erb
.c9/metadata/workspace/app/views/candy_pages/reeses.html.erb
.c9/metadata/workspace/app/views/candy_pages/skittles.html.erb
.c9/metadata/workspace/app/views/candy_pages/snickers.html.erb
.c9/metadata/workspace/app/views/layouts/application.html.erb
.c9/metadata/workspace/config/routes.rb
.c9/metadata/workspace/test/controllers/candy_pages_controller_test.rb

如何摆脱这些?我添加了

#Ignore all .c9 specific files
/.c9/

致我的.gitignore,但这无助于 git 已经跟踪的内容。

我做了一个

$ git rm --cached .c9/ -r

但是当我试图回到我的主人身边时

$ git checkout master

由于未跟踪的工作树文件,我无法继续...有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: git cloud9-ide


    【解决方案1】:

    我认为的问题是,这些文件已经在你之前的一些提交中提交了,这些文件现在是 master 的一部分。

    如果是这种情况,执行git log .c9/ 也会向您显示提交。要解决此问题,只需使用rm -rf .c9/ 手动删除文件一次。如果您想保留这些文件,请将 .c9 文件夹重命名为其他名称 (mv .c9 .c9.bkp)。如果您现在执行git status,有两种可能性,要么在.c9 目录中没有显示更多文件,要么有一些文件正在被修改。在后一种情况下,执行git checkout .c9 以仅重新生成 git 正在跟踪的那些文件。

    现在执行git pull origin master,拉取最新的主分支。更改完成后,请执行

    git rm -r --cached .c9/
    echo ".c9*" >> .gitignore
    git add .gitignore && git commit -m "Removing .c9 metadata files"
    

    现在,使用

    将这些更改推送回主分支
    git push origin master
    

    在任何其他分支上工作时,首先将它们变基为 master(使用 git rebase origin/master),以便在另一个分支中提交的任何 .c9 文件不会爬回 master。

    现在,如果需要,您可以使用 mv .c9.bkp .c9 从我们制作的备份中恢复您的 .c9 文件夹。

    【讨论】:

    • 我在 git pull origin master 之前做错了什么。我收到错误错误:以下未跟踪的工作树文件将被合并覆盖:.c9/metadata/tab0 请在合并之前移动或删除它们。中止
    • @studentss 快速提问,您现在是否收到单个文件的.c9/metadata/tab0 错误?这些错误是否发生在某种实时实例上?
    • 是的,现在只有一个文件。其余的被 rm -rf .c9/ 我相信删除了。我正在使用 cloud9 和 gitbucket。在这种情况下,不确定您所说的实时实例是什么意思。这有帮助吗?
    • @studentss 如果您可以在历史记录中进行虚拟提交,请使用git add c9/ && git commit -m "adding c9" 添加并提交该文件。现在进行拉动,更改应该被合并。在本地合并更改后,继续使用git rm --cached 等删除文件的步骤。
    • 那行得通。让我继续你上面写的。
    猜你喜欢
    • 1970-01-01
    • 2017-09-20
    • 2015-07-06
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多