Как получить последний код проекта с открытым исходным кодом, в который я внес свой вклад

#git #github #open-source

Вопрос:

Я внес свой вклад в проект с открытым исходным кодом на GitHub. Есть только одна ветвь master , и в моем регионе также есть одна ветвь с именем master . Я внес свой вклад примерно 3-4 раза.
Когда я напишу git pull это, покажи мне Already Up to Date . Теперь проблема в том, что в открытом исходном коде есть некоторые изменения, но я не могу их обновить. Как будто у них 762 строки кода, README.md но у меня только 722 строки кода. Я пытался,

  1. мерзавец тяни
  2. мерзавец принес
  3. сброс git —жесткий источник/мастер
  4. git fetch —все
  5. сброс git-твердая ГОЛОВА
  6. гит заначка
    , гит тяни
  7. git извлекает исходный
    статус git

Помогите мне решить эту проблему безопасным способом, не теряя никаких локальных данных.

Комментарии:

1. git fetch amp;amp; git diff origin/master master amp;amp; git show --format=%H -s origin/master amp;amp; git show --format=%H -s master Последние две команды предназначены для сравнения идентификаторов фиксации головы.

2. Я понимаю, что и то, и другое одинаково. Но все равно у меня 722 строки кода, а у них 762

3. Одинаковые идентификаторы фиксации означают, что у вас точно такой же файл. git diff Произвела ли какая-нибудь разница? Разница в количестве строк может быть объяснена проблемой с окончанием строки, которая требует дальнейшего изучения. Кстати, репо с открытым исходным кодом, вы можете свободно опубликовать его URL-адрес, чтобы мы могли проверить файл.

4. git diff ничего не возвращает. git status возврат на мастер ветви Ваша ветвь обновлена с помощью «origin/master». lt;brgt; Я говорю о разнице строк, потому что в открытом исходном коде есть еще некоторые обновления, которых у меня нет или которые я не могу получить.

Ответ №1:

Если он не показывает обновления, когда вы вытаскиваете, это, вероятно, потому, что вы разветвили проект. Источник, из которого вы толкали и вытягивали, — это источник для вашей раздвоенной версии.

Если вы распечатаете .git/config для своего локального хранилища , вы сможете увидеть, так ли это. Просто запустите cat .git/config в корневом каталоге репозитория.

Чтобы получать обновления от проекта, добавьте их репозиторий git в качестве восходящего:

 git remote add upstream lt;git url to their projectgt;  

Затем извлеките изменения из этого восходящего потока:

 git fetch upstream  

Вы можете увидеть, какие изменения они внесли с помощью git diff :

 git diff master upstream/master  

Вопрос: Как вы внесли свои изменения в проект?

Если вы нажали, то, скорее всего, вы просто нажали на свою раздвоенную версию, а не на проект самостоятельно.

Если вы создали запрос на удаление, который был принят, то изменения были объединены.

Есть ли в их проекте ваши изменения? Это определяет, как действовать дальше.