Git не передает изменения в ветку, если извлечение и слияние выполняются после коммита и push - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть приложение django, которое я работаю на локальном хосте в ветке альфа и сливаюсь с мастером через определенные промежутки времени.У меня есть следующий сценарий.Я работал над несколькими коммитами в альфа-версии и загружаю их в репозиторий git, как показано ниже:

$ git status
On branch alpha
Your branch is up to date with 'origin/alpha'.

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

    modified:   clinic/__pycache__/views.cpython-36.pyc
    modified:   clinic/views.py

no changes added to commit (use "git add" and/or "git commit -a")

joel@hp:~/myrepo$ git commit -a
[alpha e16bb180] Fixed an issue in checking for clinic membership. There was no check for if the user was not authenticated
2 files changed, 6 insertions(+)

joel@hp:~/myrepo$ git push
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 1.46 KiB | 1.46 MiB/s, done.
Total 6 (delta 5), reused 0 (delta 0)
remote: 
remote: Create pull request for alpha:
remote:   https://bitbucket.org/myrepo
remote: 
To bitbucket.org:user/myrepo.git
33ac1a63..e16bb180  alpha -> alpha

Теперь я решаю, что это основное исправление должно быть синхронизировано с master.Итак, я делаю:

joel@hp:~/myrepo$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
joel@hp:~/myrepo$ git merge alpha
Updating 7b0f27ad..e16bb180
Fast-forward
appointments/__pycache__/models.cpython-36.pyc                             | Bin 26755 -> 26755 bytes
appointments/__pycache__/views.cpython-36.pyc                              | Bin 53867 -> 53867 bytes
appointments/migrations/__pycache__/0058_auto_20181122_2143.cpython-36.pyc | Bin 613 -> 613 bytes
appointments/templates/site/test.html                                      |  11 +++++++++++
clinic/__pycache__/urls.cpython-36.pyc                                     | Bin 9875 -> 9875 bytes
clinic/__pycache__/views.cpython-36.pyc                                    | Bin 156447 -> 156597 bytes
clinic/templatetags/__pycache__/__init__.cpython-36.pyc                    | Bin 140 -> 140 bytes
clinic/templatetags/__pycache__/customtags.cpython-36.pyc                  | Bin 1246 -> 1246 bytes
clinic/views.py                                                            |   6 ++++++
myrepo/__pycache__/settings.cpython-36.pyc                         | Bin 4541 -> 4541 bytes
myrepo/settings.py                                                 |   2 +-
11 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 appointments/templates/site/test.html
joel@hp:~/myrepo$ git push
Total 0 (delta 0), reused 0 (delta 0)
To bitbucket.org:user/myrepo.git
7b0f27ad..e16bb180  master -> master

Поэтому мне нужно перенести это на удаленный компьютер, чтобы мой проект, размещенный на моем веб-сервере, был синхронизирован.

joel@hp:~/myrepo$ git push
Total 0 (delta 0), reused 0 (delta 0)
To bitbucket.org:user/myrepo.git
7b0f27ad..e16bb180  master -> master

Кажется, что мои существенные изменения в master не были перенесены в центральное git-репо.

Проверка на сервере моего проекта:

root@myopip:/home/joel/myappointments# git checkout alpha
Switched to branch 'alpha'
Your branch is behind 'origin/alpha' by 1 commit, and can be fast-forwarded.
(use "git pull" to update your local branch)
root@myopip:/home/joel/myappointments# git pull
Updating 33ac1a63..e16bb180
Fast-forward
clinic/__pycache__/views.cpython-36.pyc | Bin 156447 -> 156597 bytes
clinic/views.py                         |   6 ++++++
2 files changed, 6 insertions(+)
root@myopip:/home/joel/myappointments# git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
root@myopip:/home/joel/myappointments# git pull
Already up to date.

Итак, хотя в master на localhost есть важное исправление, оно не обновляется на удаленном сервере.Как я могу избежать этого?

1 Ответ

0 голосов
/ 27 ноября 2018

Проверьте список файлов, измененных между этими коммитами:

git diff <a commit sha1>...<b commit sha2> --name-only # b is after a in time

Оба при нажатии: git diff 7b0f27ad..e16bb180 --name-only И при вытягивании вашего второго репо: git diff 33ac1a63..e16bb180 --name-only

Это покажет вамесли вы нажали правильный список файлов (вы можете удалить --name-only, чтобы проверить фактические изменения)

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