git 풀

heyme·2024년 7월 9일

git pull
"""
root@Ubuntu22Docker:aicctv#git pull
git@dev.neoconv.com's password:
Permission denied, please try again.
git@dev.neoconv.com's password:
이미 업데이트 상태입니다.
"""

"""
root@Ubuntu22Docker:strongsort#git pull
git@dev.neoconv.com's password:
remote: Counting objects: 54, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 36 (delta 13), reused 0 (delta 0)
오브젝트 묶음 푸는 중: 100% (36/36), 51.76 MiB | 13.03 MiB/s, 완료.
dev.neoconv.com:/home/git/aicctv URL에서
460a84d..c03951b master -> origin/master
힌트: You have divergent branches and need to specify how to reconcile them.
힌트: You can do so by running one of the following commands sometime before
힌트: your next pull:
힌트:
힌트: git config pull.rebase false # merge (the default strategy)
힌트: git config pull.rebase true # rebase
힌트: git config pull.ff only # fast-forward only
힌트:
힌트: You can replace "git config" with "git config --global" to set a default
힌트: preference for all repositories. You can also pass --rebase, --no-rebase,
힌트: or --ff-only on the command line to override the configured default per
힌트: invocation.
fatal: Need to specify how to reconcile divergent branches.
root@Ubuntu22Docker:strongsort#git add Json/parking_10s_areas.json
root@Ubuntu22Docker:strongsort#git status
현재 브랜치 master
현재 브랜치와 'origin/master'이(가) 갈라졌습니다,
다른 커밋이 각각 1개와 1개 있습니다.
(리모트의 브랜치를 현재 브랜치로 병합하려면 "git pull"을 사용하십시오)

커밋하도록 정하지 않은 변경 사항:
(무엇을 커밋할지 바꾸려면 "git add/rm <파일>..."을 사용하십시오)
(작업 디렉토리의 변경을 무시하려면 "git restore ..."을 사용하시오)
수정함: ../openpose/pycache/pose_infer.cpython-310.pyc
수정함: ../openpose/src/pycache/init.cpython-310.pyc
수정함: ../openpose/src/pycache/body.cpython-310.pyc
수정함: ../openpose/src/pycache/hand.cpython-310.pyc
수정함: ../openpose/src/pycache/model.cpython-310.pyc
수정함: ../openpose/src/pycache/util.cpython-310.pyc
수정함: pycache/define.cpython-310.pyc
수정함: pycache/neo_utils.cpython-310.pyc
수정함: neo_utils.py
삭제함: neo_utils_bbox.py
수정함: track_v9_parking.py
수정함: yolov9/pycache/export.cpython-310.pyc
수정함: yolov9/models/pycache/init.cpython-310.pyc
수정함: yolov9/models/pycache/common.cpython-310.pyc
수정함: yolov9/models/pycache/experimental.cpython-310.pyc
수정함: yolov9/models/pycache/yolo.cpython-310.pyc
수정함: yolov9/utils/pycache/init.cpython-310.pyc
수정함: yolov9/utils/pycache/augmentations.cpython-310.pyc
수정함: yolov9/utils/pycache/dataloaders.cpython-310.pyc
수정함: yolov9/utils/pycache/downloads.cpython-310.pyc
수정함: yolov9/utils/pycache/general.cpython-310.pyc
수정함: yolov9/utils/pycache/lion.cpython-310.pyc
수정함: yolov9/utils/pycache/metrics.cpython-310.pyc
수정함: yolov9/utils/pycache/plots.cpython-310.pyc
수정함: yolov9/utils/pycache/torch_utils.cpython-310.pyc
수정함: yolov9/utils/segment/pycache/init.cpython-310.pyc
수정함: yolov9/utils/segment/pycache/general.cpython-310.pyc
수정함: yolov9/utils/tal/pycache/init.cpython-310.pyc
수정함: yolov9/utils/tal/pycache/anchor_generator.cpython-310.pyc

추적하지 않는 파일:
(커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
"Json/parking34s_areas - \353\263\265\354\202\254\353\263\270.json"
neo_utils_org.py
runs/track/exp/
runs/track/exp2/
runs/track/exp3/
runs/track/exp4/
runs/track/exp_16s/
runs/track/exp_34s/
runs/track/roi_flags.txt
runs/track/roi_flags
.txt
trackv9_json.py
track_v9_parking
.py
trackv9_parking_json.py

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
root@Ubuntu22Docker:strongsort#git add Json/parking_10s_areas.json
root@Ubuntu22Docker:strongsort#git commit -m "json file add"
현재 브랜치 master
현재 브랜치와 'origin/master'이(가) 갈라졌습니다,
다른 커밋이 각각 1개와 1개 있습니다.
(리모트의 브랜치를 현재 브랜치로 병합하려면 "git pull"을 사용하십시오)

커밋하도록 정하지 않은 변경 사항:
(무엇을 커밋할지 바꾸려면 "git add/rm <파일>..."을 사용하십시오)
(작업 디렉토리의 변경을 무시하려면 "git restore ..."을 사용하시오)
수정함: ../openpose/pycache/pose_infer.cpython-310.pyc
수정함: ../openpose/src/pycache/init.cpython-310.pyc
수정함: ../openpose/src/pycache/body.cpython-310.pyc
수정함: ../openpose/src/pycache/hand.cpython-310.pyc
수정함: ../openpose/src/pycache/model.cpython-310.pyc
수정함: ../openpose/src/pycache/util.cpython-310.pyc
수정함: pycache/define.cpython-310.pyc
수정함: pycache/neo_utils.cpython-310.pyc
수정함: neo_utils.py
삭제함: neo_utils_bbox.py
수정함: track_v9_parking.py
수정함: yolov9/pycache/export.cpython-310.pyc
수정함: yolov9/models/pycache/init.cpython-310.pyc
수정함: yolov9/models/pycache/common.cpython-310.pyc
수정함: yolov9/models/pycache/experimental.cpython-310.pyc
수정함: yolov9/models/pycache/yolo.cpython-310.pyc
수정함: yolov9/utils/pycache/init.cpython-310.pyc
수정함: yolov9/utils/pycache/augmentations.cpython-310.pyc
수정함: yolov9/utils/pycache/dataloaders.cpython-310.pyc
수정함: yolov9/utils/pycache/downloads.cpython-310.pyc
수정함: yolov9/utils/pycache/general.cpython-310.pyc
수정함: yolov9/utils/pycache/lion.cpython-310.pyc
수정함: yolov9/utils/pycache/metrics.cpython-310.pyc
수정함: yolov9/utils/pycache/plots.cpython-310.pyc
수정함: yolov9/utils/pycache/torch_utils.cpython-310.pyc
수정함: yolov9/utils/segment/pycache/init.cpython-310.pyc
수정함: yolov9/utils/segment/pycache/general.cpython-310.pyc
수정함: yolov9/utils/tal/pycache/init.cpython-310.pyc
수정함: yolov9/utils/tal/pycache/anchor_generator.cpython-310.pyc

추적하지 않는 파일:
(커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
"Json/parking34s_areas - \353\263\265\354\202\254\353\263\270.json"
neo_utils_org.py
runs/track/exp/
runs/track/exp2/
runs/track/exp3/
runs/track/exp4/
runs/track/exp_16s/
runs/track/exp_34s/
runs/track/roi_flags.txt
runs/track/roi_flags
.txt
trackv9_json.py
track_v9_parking
.py
trackv9_parking_json.py

커밋할 변경 사항을 추가하지 않았습니다 ("git add" 및/또는 "git commit -a"를
사용하십시오)
root@Ubuntu22Docker:strongsort#git add Json/parking_10s_areas.json
root@Ubuntu22Docker:strongsort#git push origin master
git@dev.neoconv.com's password:
To dev.neoconv.com:/home/git/aicctv.git
! [rejected] master -> master (non-fast-forward)
error: 레퍼런스를 'dev.neoconv.com:/home/git/aicctv.git'에 푸시하는데 실패했습니다
힌트: 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가
힌트: 거부되었습니다. 푸시하기 전에 ('git pull ...' 등 명령으로) 리모트
힌트: 변경 사항을 포함하십시오.
힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
힌트: 참고하십시오.
root@Ubuntu22Docker:strongsort#git pull origin master
git@dev.neoconv.com's password:
dev.neoconv.com:/home/git/aicctv URL에서

  • branch master -> FETCHHEAD
    힌트: You have divergent branches and need to specify how to reconcile them.
    힌트: You can do so by running one of the following commands sometime before
    힌트: your next pull:
    힌트:
    힌트: git config pull.rebase false # merge (the default strategy)
    힌트: git config pull.rebase true # rebase
    힌트: git config pull.ff only # fast-forward only
    힌트:
    힌트: You can replace "git config" with "git config --global" to set a default
    힌트: preference for all repositories. You can also pass --rebase, --no-rebase,
    힌트: or --ff-only on the command line to override the configured default per
    힌트: invocation.
    fatal: Need to specify how to reconcile divergent branches.
    root@Ubuntu22Docker:strongsort#ll
    합계 63596
    drwxr-xr-x. 13 root root 4096 7월 9 09:51 ./
    drwxr-xr-x. 6 root root 66 7월 5 11:13 ../
    drwxr-xr-x. 2 root root 25 7월 5 11:13 .vscode/
    drwxr-xr-x. 2 root root 162 7월 5 15:54 Json/
    drwxr-xr-x. 2 root root 71 7월 5 11:13 MOT16_eval/
    -rwxr-xr-x. 1 root root 9549 7월 5 11:13 README.md
    drwxr-xr-x. 2 root root 69 7월 9 09:51 pycache/
    -rwxr-xr-x. 1 root root 314 7월 5 11:13 define.py

    -rwxr-xr-x. 1 root root 19057055 7월 5 11:13 demo.gif
    -rwxr-xr-x. 1 root root 20127266 7월 5 11:13 demo_yoloV8.gif

    drwxr-xr-x. 2 root root 130 7월 5 11:13 font/
    -rwxr-xr-x. 1 root root 2967 7월 8 13:56 neo_utils.py
    -rwxr-xr-x. 1 root root 2247 7월 5 16:25 neo_utils_org.py

    -rwxr-xr-x. 1 root root 3472 7월 5 11:13 obj_feature_orb.py
    -rwxr-xr-x. 1 root root 3583 7월 5 11:13 obj_feature_resnet.py

    -rwxr-xr-x. 1 root root 471 7월 5 11:13 requirements.txt
    drwxr-xr-x. 3 root root 19 7월 5 11:13 runs/
    drwxr-xr-x. 7 root root 136 7월 5 13:02 strong_sort/
    -rwxr-xr-x. 1 root root 319818 7월 5 11:13 testing.jpg

    -rwxr-xr-x. 1 root root 25142889 7월 5 11:13 traced_model.pt
    -rwxr-xr-x. 1 root root 19464 7월 5 11:13 track_v5.py

    -rwxr-xr-x. 1 root root 17237 7월 5 11:13 track_v7.py
    -rwxr-xr-x. 1 root root 18078 7월 5 11:13 track_v7_heyme.py

    -rwxr-xr-x. 1 root root 11370 7월 5 11:13 track_v8.py
    -rwxr-xr-x. 1 root root 47920 7월 5 11:13 track_v9.py

    -rwxr-xr-x. 1 root root 29762 7월 5 11:13 track_v9_idcheck.py
    -rwxr-xr-x. 1 root root 42395 7월 8 17:58 track_v9_json.py

    -rwxr-xr-x. 1 root root 19587 7월 5 11:13 track_v9_org.py
    -rwxr--r--. 1 root root 45279 7월 8 17:33 track_v9_parking.py

    -rwxr-xr-x. 1 root root 43903 7월 8 16:59 track_v9_parking
    .py
    -rwxr--r--. 1 root root 44513 7월 9 09:18 track_v9_parking_json.py

    -rwxr--r--. 1 root root 46575 7월 9 10:24 trackv9_parking_json.py
    drwxr-xr-x. 2 root root 92 7월 5 11:13 video/
    drwxr-xr-x. 2 root root 4096 7월 5 11:13 weights/
    drwxr-xr-x. 12 root root 4096 7월 5 11:13 yolov7/
    drwxr-xr-x. 12 root root 4096 7월 5 11:13 yolov9/
    -rwxr-xr-x. 1 root root 830 7월 5 11:13 명령어.txt

    root@Ubuntu22Docker:strongsort#git add Json/parking_10s_areas.json
    root@Ubuntu22Docker:strongsort#git push origin master
    git@dev.neoconv.com's password:
    To dev.neoconv.com:/home/git/aicctv.git
    ! [rejected] master -> master (non-fast-forward)
    error: 레퍼런스를 'dev.neoconv.com:/home/git/aicctv.git'에 푸시하는데 실패했습니다
    힌트: 현재 브랜치의 끝이 리모트 브랜치보다 뒤에 있으므로 업데이트가
    힌트: 거부되었습니다. 푸시하기 전에 ('git pull ...' 등 명령으로) 리모트
    힌트: 변경 사항을 포함하십시오.
    힌트: 자세한 정보는 'git push --help'의 "Note about fast-forwards' 부분을
    힌트: 참고하십시오.
    """

여기서 문제는 git pull 명령을 실행했을 때, Git이 divergent branches, 즉 갈라진 브랜치들을 어떻게 처리할지를 명확히 지시받지 못했다는 데 있습니다. 이는 로컬 브랜치와 원격 브랜치가 서로 다른 커밋으로 갈라졌고, 두 브랜치가 각각 추가된 커밋이 있을 때 발생합니다. Git은 이러한 상황에서 자동으로 브랜치들을 병합하거나 리베이스(rebase)하지 않습니다. 대신 사용자에게 어떤 방법을 선택할지 묻습니다.

문제 해결을 위해 다음의 단계를 따라 해보세요:

명확한 병합 전략 설정:
git pull 명령을 실행할 때, 병합(merge) 또는 리베이스(rebase) 중 어떤 방식으로 divergent branches를 처리할지 Git에게 지시해야 합니다.

병합(Merge) 방식을 선택하려면, 다음과 같이 명령을 실행하세요:

bash
"""
git pull --no-rebase
"""

이 명령은 원격 브랜치의 변경사항을 현재 브랜치에 병합하려고 시도합니다.

리베이스(Rebase) 방식을 선택하려면, 다음과 같이 명령을 실행하세요:
"""
git pull --rebase
"""
이 명령은 로컬 브랜치의 변경사항을 원격 브랜치의 최신 상태 위에 다시 적용합니다.

충돌 해결: 병합이나 리베이스 과정에서 충돌이 발생할 수 있습니다. 충돌이 발생하면, Git은 충돌을 해결하라는 메시지와 함께 충돌이 발생한 파일을 알려줍니다. 이 파일들을 열어 충돌을 수동으로 해결한 후, 변경사항을 다시 커밋해야 합니다.

변경사항 커밋 및 푸시: 충돌을 해결하고 모든 변경사항을 커밋한 후, 다시 git push를 실행하여 변경사항을 원격 저장소에 푸시합니다.

위 단계를 통해 divergent branches 문제를 해결하고 원활하게 코드를 원격 저장소에 푸시할 수 있습니다.

0개의 댓글