簡體   English   中英

Git Checkout未跟蹤問題

[英]Git checkout untracked issue

我正在Drupal網站上與其他一些人合作,我們正在控制Git的版本。 我們設置了一個包含提交的本地Git存儲庫。

同事推送了一些更新后,我獲取並合並到本地dev分支中,我開始遇到以下問題:

user@server:/var/www/Intranet/sites/intranet/modules/custom$ git checkout dev 
error: The following untracked working tree files would be overwritten by checkout:
    themes/bigcompany/panels/layouts/radix_bryant_flipped/radix-bryant-flipped.png
    themes/bigcompany/panels/layouts/radix_bryant_flipped/radix-bryant-flipped.tpl.php
    themes/bigcompany/panels/layouts/radix_bryant_flipped/radix_bryant_flipped.inc
Please move or remove them before you can switch branches.
Aborting

當我嘗試簽出到其他分支但失敗並有效地陷入當前分支時,通常會出現上述問題。

關於這個問題,有一個建議是我的問題與gitignore文件有關。 但是,我的.gitignore文件沒有任何內容,表明應忽略主題目錄的任何部分,如下所示:

# .gitignore for a standard Drupal 7 build based in the sites subdirectory.

# Drupal
files
settings.php
settings.*.php

# Sass.
.sass-cache

# Composer
vendor/

# Migrate sourec files
modules/custom/haringeygovuk_migrate/source_data

如上所述,我嘗試將git checkout執行到任何分支的嘗試均因上述消息而失敗。 我決定使用-f開關強制執行此操作,並成功切換到我的目標分支,但是我丟失了幾百行代碼-我希望避免繼續。

我在Linux-Ubuntu VirtualBox上工作,我的同事們更喜歡在WAMP設置中工作,並使用Gi​​t Bash終端仿真器執行Git命令。 環境的差異會導致這些嚴重的問題嗎?

我該如何解決這個問題?

好吧,情況很簡單。 您在當前分支中沒有某些文件在Git的控制下,但同時,您的工作樹中也有這些文件。 您要切換到的分支具有這些文件,因此git需要覆蓋工作樹中的文件以執行檢出。

為了防止可能的數據丟失,Git停止了分支的切換過程,並通知您您應該在當前分支的單獨提交中在Git的控制下添加這些文件,然后再執行切換,或者只是刪除這些文件從git的方式。

您可能選擇了第二種方式。 通常,只有真正了解自己在做什么時,才應“強制”執行任何操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM