Как объединить репозиторий git и некоторые другие файлы локального хранилища? - PullRequest
0 голосов
/ 17 июня 2020

Мы отправили репозиторий. Его подтолкнули к освоению 1 месяца go, и разработчики поработали над этим, создали объединенные коды веток и т. Д. c ..

С другой стороны, другой разработчик работал над кодами, которые были ранее стремление к мастеру. И этого кода разработчика нет на git. Таким образом, его код не содержит изменений в репозитории. Назовем его коды локальным X.

Я хочу объединить их вместе. Но решите, какой код полезен, а какой нет. Я пробовал на локальном X:

git init
git remote add origin https://gitlab.com/xyz/xyz
git pull origin master

Не тянет. Я не мог решить, что мне делать.

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Предполагая, что локальный X отклонился от исходного кода после фиксации 123abcd, вы можете git clone в новый каталог, создать новый branch-x в этом коммите, а затем скопировать изменения разработчика в эту ветку и коммит и пу sh это. Затем слияние этого с master будет следовать обычным Git рабочим потокам.

git clone "$url" upstream
cd upstream
git checkout 123abcd
# detached branch
git checkout -b x-branch
# now copy in changes
cp ../local-x/changedfile ./
cp ../local-x/subdir/*.py ./subdir/
:
git add -A
git commit -m "Checked in changes from 1+ month of random activity"
git push origin branch-x

Нет необходимости per se фактически pu sh этой новой ветке перед ее объединением; но я думаю, что будет намного безопаснее иметь задвинутую, четко определенную точку в истории, к которой можно вернуться, если вам нужно отменить часть или всю вашу последующую работу, чтобы объединить ее с master.

Если есть любые вновь добавленные файлы, git add их отдельно перед окончательной фиксацией и sh pu. Очевидно, что если вы можете структурировать это в более чем одну огромную фиксацию, это, вероятно, будет более управляемым для любого, кто попытается понять окончательное слияние с master.

Разошлась ли локальная ветвь до или после самая первая фиксация на самом деле не является решающим вопросом; теоретически вы могли бы иметь ветку, которая в конечном итоге не укоренилась бы при самой первой фиксации, но я не думаю, что это действительно добавляет здесь какую-либо ценность.

0 голосов
/ 17 июня 2020

Лучшее, что вы можете сделать, это попросить своего коллегу клонировать репо, создать ветку, переопределить / добавить его файл и sh.

После этого вы сможете объединить 2 ветки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...