小编klo*_*lor的帖子

Git不会让我反驳(未跟踪的文件会被覆盖).我该怎么办?

我只想编辑/修改较旧的Git提交的文本.

我运行了以下内容:

$ git rebase -i a41a407d6f53328d49267e6a8429b9492f023629
error: The following untracked working tree files would be overwritten by checkout:
    admin/roles/allowassign.php
    admin/roles/allowoverride.php
    admin/roles/assign.html
    admin/roles/assign.php
    admin/roles/manage.html
    admin/roles/manage.php
    admin/roles/managetabs.php
    admin/roles/override.html
    admin/roles/override.php    
Aborting
could not detach HEAD       
Run Code Online (Sandbox Code Playgroud)

但是,git status不会列出任何未跟踪的文件:

$ git status
On branch dev
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)

请注意,admin/roles是存储库的子模块:

$ git submodule
 77c5addc1b210256da9171e3b286ffa5addd2478 admin/roles (heads/dev)
Run Code Online (Sandbox Code Playgroud)

列出被忽略的文件:

$ git status --ignored
On branch duf-moodle-dev
Ignored files:
  (use "git add -f <file>..." to include in what will be committed)

        blocks/moodleblock.class.php.bak
        filter/tex/mimetex.exe …
Run Code Online (Sandbox Code Playgroud)

git commit rebase

9
推荐指数
1
解决办法
7125
查看次数

合并冲突错误,当提到的文件没有变化时

我有一个站点本地仓库和一个远程仓库.本地仓库包含1-2个月的远程仓库内容.

我尝试将整个内容整合到本地回购中.

git pull origin master
From ssh://.../site.git
 * branch            master     -> FETCH_HEAD
...
CONFLICT (add/add): Merge conflict in admin/process_email.php
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)

我使用P4Merge检查了process_email.php,但没有显示冲突,而且根本没有任何变化,没有区别.

更新:

我明白了

$ git status
On branch master
nothing to commit, working directory clean on both repos. 
Run Code Online (Sandbox Code Playgroud)

我也试过了

$ git pull -X theirs origin/master master
Run Code Online (Sandbox Code Playgroud)

但仍然得到同样的错误.

我想将远程原始仓库与我的本地仓库合并.我想用远程源repo内容覆盖本地repo,因为远程repo更新,包含最新代码.

超过2000个文件存在冲突,而我检查了冲突并且它们具有相同的内容.我不想做手动冲突处理.

我在.gitconfig中有autocrlf = False.

为什么我的内容完全相同的文件会出现冲突错误?

git git-merge

9
推荐指数
1
解决办法
7914
查看次数

PHP:致命错误:无法实例化抽象类

我有一个名为的抽象数据库类:

abstract class database {
  protected $value;
}
Run Code Online (Sandbox Code Playgroud)

我创建了另一个抽象类

abstract class my_database extends database {
  public function set_value($value) {
    $this->value = $value;
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用它时:

$my_db = new my_database();
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Fatal error: Cannot instantiate abstract class my_database in ...
Run Code Online (Sandbox Code Playgroud)

我尝试做的是:抽象类数据库有一个受保护的$值,我想创建一个包装类,以便能够(临时)更改受保护的值.

我怎样才能做到这一点?

EDIT1:不幸的是之前,当我尝试没有抽象my_database时,我得到了错误:

- abstract methods and must therefore be declared abstract or implemented
- Abstract function cannot contain body
Run Code Online (Sandbox Code Playgroud)

EDIT2:从my_database中完全取出抽象词后,我收到以下错误:

致命错误:类my_database包含32个抽象方法,因此必须声明为abstract或实现其余方法

我怎样才能解决这个问题?

php abstract-class instantiation

9
推荐指数
2
解决办法
2万
查看次数

GIT 错误:致命:/usr/libexec/git-core/git-submodule 不能在没有工作树的情况下使用

我有一个带有子模块的 git repo。

我会在接收后挂钩文件中使用:

git --git-dir="$GIT_DIR" --work-tree="$GIT_WORKDIR1" submodule update --init --recursive 
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

remote: fatal: /usr/libexec/git-core/git-submodule cannot be used without a working tree.  
Run Code Online (Sandbox Code Playgroud)

我没有得到这个问题的解决方案。

我该怎么做才能让它发挥作用?

git git-submodules git-post-receive

8
推荐指数
1
解决办法
7384
查看次数

如何将GIT存储库转换为嵌套在另一个(父)GIT存储库中的子模块?

我有一个GIT存储库,其中包含子文件夹作为GIT子存储库。

+ main (local GIT repo)
  + subdirectory1
     + plugin1 (created as local GIT repo)
     + plugin2 (created as local GIT repo)
  + subdirectory2
    + subdirectory2a
      + plugin3 (created as local GIT repo)
  + subdirectory3
Run Code Online (Sandbox Code Playgroud)

plugin1,plugin2,plugin3是主GIT存储库的子文件夹(subrepos)。插件1,插件2,插件3也是作为本地GIT存储库启动的,并添加了内容和历史记录。

我想将plugin1,plugin2,plugin3 GIT子存储库转换为子模块或主GIT存储库。

我想在插件GIT仓库中单独进行开发,但仍保留为子文件夹,也仍然显示为主要GIT仓库中的链接。我使用GIT Extensions作为开发版本控制GUI。

git version-control repository git-extensions git-submodules

1
推荐指数
1
解决办法
1769
查看次数

git pull -X他们的本地大师仍然有冲突

我想接受所有远程(他们的)修改,而不需要任何手动解决冲突.但是我仍然会在没有自动解决方案的情

$ git merge -s recursive -X theirs local/master

CONFLICT (rename/delete): rcS.d/S08kmod deleted in HEAD and renamed in local/master. Version local/master of rcS.d/S08kmod left in tree.
Auto-merging php5/cli/conf.d/20-xdebug.ini
CONFLICT (add/add): Merge conflict in php5/cli/conf.d/20-xdebug.ini
Auto-merging apt/sources.list
CONFLICT (rename/rename): Rename "apache2/sites-available/default-ssl"->"apache2/sites-available/default-ssl.conf.conf" in branch "HEAD" rename "apache2/sites-available/default-ssl"->"apache2/sites-available/default-ssl.conf" in "local/master"
Run Code Online (Sandbox Code Playgroud)

使用拉:

$ git pull local master
From ssh://192.168.1.101/etc
 * branch            master     -> FETCH_HEAD
warning: Cannot merge binary files: console-setup/cached_UTF-8_del.kmap.gz (HEAD vs. ada82813d27e5bef846ee086d07a87a82cfbb020)
CONFLICT (rename/delete): rcS.d/S08kmod deleted in HEAD and renamed in ada82813d27e5bef846ee086d07a87a82cfbb020. Version …
Run Code Online (Sandbox Code Playgroud)

git git-merge-conflict

0
推荐指数
1
解决办法
557
查看次数