Неможливо замовити, файл не об’єднано


85

Я намагаюся видалити файл зі свого робочого каталогу, але після використання наступної команди

git checkout file_Name.txt

Я отримав таке повідомлення про помилку

error: path 'first_Name.txt' is unmerged

Що це і як це вирішити?

Далі мій статус git

$ git status
On branch master
You are currently reverting commit f200bf5.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

        both modified:      first_file.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        explore_california/

no changes added to commit (use "git add" and/or "git commit -a")

Це переміщено до індексу індексації, але я не можу очистити папку explore_california /
Naseer

1
Якщо ви хочете видалити, explore_californiaпросто зробіть a, rm -r explore_californiaоскільки він не відстежується git.
зламана ступня

Що це змусило мене видалити більше 50 файлів окремо, і я все ще натискаю y?
Naseer

Але це спрацювало Finally.Thanx
Насир

Відповіді:


28

Щоб видалити відстежувані файли (first_file.txt) з git:

git rm first_file.txt

А для видалення невідстежених файлів використовуйте:

rm -r explore_california

124

Якщо ви хочете відхилити внесені вами зміни у файл, ви можете зробити:

git reset first_Name.txt
git checkout first_Name.txt

2
Потрібен подвійний дефіс? git reset - first_name.txt та git checkout - first_name.txt
дементований їжачок

2
Ви використовуєте лише --для відокремлення дерева, яке потрібно перевірити, від файлів, які потрібно перевірити. Щоб отримати більш глибоке пояснення, візьміть бабло тут: stackoverflow.com/questions/13321458/…
cristianoms

4
Я думаю, що безпечніше використовувати подвійний дефіс, git reset -- first_Name.txtі git checkout -- first_Name.txtна той випадок, якщо ім’я файлу збігається з однією з ваших гілок / тегів / комітів.
joeytwiddle

18

статус підкаже, що робити.

Unmerged paths:
  (use "git reset HEAD <file>..." to unstage)
  (use "git add <file>..." to mark resolution)

ви, напевно, застосували схованку або щось інше, що спричиняє конфлікт.

або додати, скинути або rm.


2
Точно я застосував схованку. Тепер питання в тому, коли використовувати add, коли resetі коли я використовую rm? Наприклад, я не хочу зберігати сховану версію, а замість неї версію з вищого рівня?
Pro Backup

14

Наступне працює для мене

git reset HEAD

Я отримував наступну помилку

git stash
src/config.php: needs merge
src/config.php: needs merge
src/config.php: unmerge(230a02b5bf1c6eab8adce2cec8d573822d21241d)
src/config.php: unmerged (f5cc88c0fda69bf72107bcc5c2860c3e5eb978fa)

Тоді я побіг

git reset HEAD

це спрацювало


4

Я не думаю виконувати

 git rm first_file.txt

це гарна ідея.

  1. коли git помічає, що ваші файли не об'єднані, ви повинні переконатися, що ви його створили.

  2. А потім відкрийте файл конфлікту:

    cat first_file.txt

  3. виправити конфлікт

4.

git add file

git commit -m "fix conflict"

5. git push

це має працювати для вас.


1

У моєму випадку я виявив, що мені потрібен параметр -f. Такі як:

git rm -f first_file.txt

щоб позбутися помилки "злиття потреб".


0

я вирішив, зробивши нижче 2 простих кроки:

крок 1: скидання git Головний крок 2: git add.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.