Для личного проекта, где я единственный, кто создает код, я иногда переключаюсь между двумя разными IDE. Таким образом, исходный код хранится локально в двух разных местах. Я хотел бы иметь историю/резервную копию кода на Bitbucket. Способен ли Git справиться с этим?
У меня есть foo.cpp
в каталоге source_code
. Я не хочу копировать все из удаленного репо в source_code
. После добавления и фиксации foo.cpp
я пытаюсь запустить git push origin master
и выдает ошибку
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://bitbucket.org/...'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Как он рекомендует, я делаю git pull origin master
, но это ошибка с
error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
Что именно означает unmerged в этом контексте? Как я могу найти конкретно, какие файлы являются проблемой? Я предполагаю, что проблема в том, что у меня есть файлы с одинаковыми именами, но я хочу, чтобы из каталога отслеживался только один конкретный файл. Такая простая задача, я ожидаю, будет легкой.
Когда я делаю git status
, это дает
You are currently rebasing branch 'master' on '930b2f7'.
(fix conflicts and then run "git rebase --continue")
(use "git rebase --skip" to skip this patch)
(use "git rebase --abort" to check out the original branch)
Unmerged paths:
(use "git restore --staged <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both added: foo2.cpp
Версия foo2.cpp для Bitbucket была правильной, поэтому я удалил локальную версию. Затем я запустил $ git restore --staged foo2.cpp
, которая сработала. Теперь git pull origin master
работает. Но все равно не могу толкнуть.
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://bitbucket.org/...'
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Опять же, все, что я пытаюсь сделать, это добавить файл в основную ветку удаленного репо. (Кроме того, является ли удаленное репо подходящим термином для обозначения конкретного проекта на хостинге, таком как Bitbucket?)
Также там написано (master|REBASE 2/3)
, что я понятия не имею, что это значит.
git rebase --continue
, чтобы возобновить перебазирование. - person Greg Burghardt   schedule 02.08.2020<<<<<<< HEAD
и>>>>>>> initial commit
к строкам внутри foo2.cpp - person northerner   schedule 03.08.2020<<< HEAD
и т. д. — это промежуточная версия слияния этого файла. Вы застряли в слиянии/перебазировании. Если вы сбросите --hard до последнего коммита, он просто восстановит все файлы и отменит слияние, но в противном случае изучите, как прервать текущее слияние. В зависимости от того, что вы сделали, чтобы попытаться исправить это (кто знает, в каком состоянии он находится на данный момент), трудно дать прямой совет, кроме как временно сохранить любые файлы, которые вы хотите сохранить в другой папке, и выполнить полный сброс до последний коммит. - person LightCC   schedule 03.08.2020git push -f origin master
и потерял большинство файлов и историю их коммитов из Bitbucket. Это можно отменить? - person northerner   schedule 04.08.2020C:\Users\<user-name>\Documents\NetBeansProjects\<project-name>
, и я предполагаю, что другие IDE имеют такие же сложные пути. Большинство людей настраивают git в этом месте, то есть заходят ли они в каталог проекта и запускаютgit init
, а затем запускают все последующие команды git в этом месте для проекта? Если нет, то каков правильный рабочий процесс? - person northerner   schedule 05.08.2020