посмотрите, есть ли удаленная часть в GitHub - PullRequest
0 голосов
/ 01 декабря 2018

когда кто-то не тянет последний мастер, а затем нажимает, он видит конфликт, если он решил перезаписать код другого, переписанный коммит не отображается в истории файлов

проблему можно увидеть здесьhttps://github.com/robertIsaac/delete-test

здесь вы можете видеть, что я добавил второй коммит https://github.com/robertIsaac/delete-test/pull/1/files

и здесь вы можете увидеть, что я удалил второй коммит и добавил третий коммит https://github.com/robertIsaac/delete-test/pull/2/files

но, обращаясь к истории файла https://github.com/robertIsaac/delete-test/commits/master/delete-test.txt вы видите только первый и третий коммит, который показывает добавление первой и третьей строки коммита в файл, а второй коммит вообще не отображается

вот мой сценарий, чтобы повторить проблему

# delete-test script
# you need to create a repo named delete-test 
# and replace the https://github.com/robertIsaac by your user name in the two lines using them
# the second next two lines can be skipped if its your first time running the script
rm -rf ~/github
rm -rf ~/delete-test
mkdir ~/github
cd ~/github
echo "first commit" >> delete-test.txt
git init
git add .
git commit -m "first commit"
git remote add origin https://github.com/robertIsaac/delete-test.git
git push -u origin master
git pull
cd ~
git clone https://github.com/robertisaac/delete-test.git
cd ~/github
git checkout -b first-branch
echo "second commit" >> delete-test.txt
git add .
git commit -m "second commit"
git push origin first-branch

## go merge with master (no conflict)

cd ~/delete-test
git checkout -b second-branch
echo "third commit" >> delete-test.txt
git add .
git commit -m "third commit"
git push origin second-branch

## go merge and resolve conflict by accepting second-branch changes and deleting the master changes

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

1 Ответ

0 голосов
/ 01 декабря 2018

Очень интересно, я до сих пор не знал этой проблемы.

Похоже, git log --follow delete-test.txt - это решение.

commit a0d607f5c80f2d9130bd197d9c0af1199515e8cf
Author: robertisaacBBN <robert.isaac@businessboomers.net>
Date:   Sat Dec 1 00:46:06 2018 +0200

    third commit

commit 168d67c24ec1de7e20c645274f64f151592d938f (origin/first-branch)
Author: robertisaacBBN <robert.isaac@businessboomers.net>
Date:   Sat Dec 1 00:45:22 2018 +0200

    second commit

commit 6b488fffd4b0581888e0942249a7b81e68d7db4b
Author: robertisaacBBN <robert.isaac@businessboomers.net>
Date:   Sat Dec 1 00:45:14 2018 +0200

    first commit

Спасибо автору оригинальной статьи @ https://www.shellhacks.com/git-particular-file-change-history/

...