Если я вспоминаю, что это правильно resharper являются просто дополнительные функции, которые Intellj (jetbrains язь) имеет по умолчанию для java
Когда я попробовал git pull
, у меня возникла следующая ошибка:
$ git pull grid master:master
! [rejected] master -> master (non fast forward)
В моем конкретном случае казалось, что git rebase
был подходящим способом пойти за мной, как показано в следующих шагах:
#Clone my forked project from github
git clone git@github.com:program247365/mojombo.github.com.git
#Add my repo as a remote repo, with the alias 'grid'
git remote add grid "path/to/remote/gitrep/with/all/history/unrelated/to/mojombo/"
#Rebase my commits on top of mojombo's
git rebase master grid/master
#Switch to the local master branch
git checkout master
#Call up my mergetool via git, to start rectifying the conflicts that emerge between my repo, and mojombo's
git mergetool
#Push my rebased/combined repo back to Github.com
git push github
Вот мысль о том, что вы могли бы сделать. Это как бы противоположно той идее, которую вы изложили в конце своего вопроса.
Итак, в основном, после разветвления на GitHub, вы можете использовать следующую последовательность команд:
$ git clone git://github.com/$YOUR_USERNAME/$YOUR_PROJECT.git # Clone your GitHub fork (#2 from above)
$ git pull /path/to/your/original/repo master:master # Clone your original repo's master branch into your new repo (cloned from GitHub)
$ rm -rf /path/to/your/original/repo # Might as well delete the original -- you don't need it anymore, since all your history is in your new repo
Таким образом, этот метод будет объединить все изменения, которые вы внесли в старое репо (таким образом, сохранив историю разработки), а также вытащить историю моджомбо, и , что позволит вам идти в ногу с изменениями моджомбо / легко вносить изменения обратно в его репо, если применимо.
Одно из решений - использовать графтов для подключения истории, затем использовать git filter-branch
, чтобы переписать историю в соответствии с этими графтами, затем, при желании, выполнить merge .
Обратите внимание, что решение для воспроизведения ваших изменений (ваших коммитов) поверх новой разработки в исходном репозитории (решение rebase ) является еще одним жизнеспособным решением.
Предположим, вы либо помните, или вы можете найти, изучив исходный код и / или используя команды git, версию репозитория, из которого вы загрузили снимок и начали локальную разработку. Назовем эту ревизию START или A.
Предположим, что ваша локальная история отключения находится в клоне исходного репозитория. Это означает, что ваша локальная отключенная разработка находится в том же репозитории, что и полная история проекта. Предположим, что ваши локальные ветки находятся в ветке 'master' (и для простоты есть только одна ветка).
Если вы не загрузили проект в репозиторий с вашей локальной отключенной работой, вы можете сделать это с помощью:
$ git remote add origin git://github.com/mojombo/mojombo.github.com.git
$ git fetch origin
] История теперь выглядит следующим образом:
*---*---*---*---*---A---*---*---*---* <--- origin/master (remote-tracking branch) x---y---*---*---* <--- master (your local disconnected history)
Коммит с именем A на диаграмме выше - это коммит START, который вы загрузили в виде снимка и начали локальную разработку.
Есть две возможности: START ') в качестве родителя как FIRST (это будет' x 'или' y ', в зависимости от вашего случая, как указано выше). Теперь мы используем механизм графтов для подключения истории:
$ echo "<SHA-1 of FIRST> <SHA-1 of START>" > .git/info/grafts
Затем вы должны проверить, правильно ли вы подключили (присоединили) историю, используя графический браузер истории, такой как gitk, или QGit, или GitX, если вы в MacOS X или даже « git log --graph
» или « git show-branch
», например:
$ gitk master origin/master # or --all
(где gitk здесь только в качестве примера; если вы используете « git show branch
», вы не всегда можете использовать параметр « - all
»).
Наконец, мы, вероятно, захотим сделать эти изменения постоянными, так что любой, кто будет выборка из нашего репозитория также подключила бы историю. Мы можем сделать это с помощью git filter-branch :