0
나는 나의 유스 케이스에 맞는 답을 찾을 수 없었습니다. 그래서 누군가가 전에 이것을 해내었고 해결책이 있기를 바랍니다.신뢰성있게 git working copy를 업데이트하십시오.
나는 git을 사용하여 aws 인스턴스의 변경 사항을 배포하려고합니다. 예를 들어 생산을 위해 master 브랜치를 사용합니다.
git fetch
git checkout -f origin/<branchname>
git pull origin <branchname>
git submodule update --init --recursive
git submodule update --recursive --remote
내가이 제대로 머리 상태를 분리 핸들 것이라고 생각 : 나는 다음은 어떤 경우에 작동 할 수있는 솔루션을 알아 냈다고 생각했다. 그것은 잠시 동안 일하는 것 같았지만, 최근 업데이트로, 그것은 단지 로컬 브랜치를 체크하고 리모트에서 변경되지 않았습니다.
그래서 기본 요건은 다음과 같습니다 수정/작업 주위에 분리 된 머리 상태 업데이트/새로운 서브 모듈
여기입니다 추가 REPO
[email protected]:/redacted$ git fetch
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 22 (delta 7), reused 0 (delta 0)
Unpacking objects: 100% (22/22), done.
From redacted:redacteduser/redactedrepo
b1cceb5..ee34124 master -> origin/master
08ec66e..ee34124 development -> origin/development
Fetching submodule redacted/redactedsubmodule
remote: Counting objects: 34, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 34 (delta 27), reused 0 (delta 0)
Unpacking objects: 100% (34/34), done.
From redacted:redacteduser/redactedsubrepo
4d52d03..7019d5a master -> origin/master
[email protected]:/redacted$ git checkout -f origin/master
Note: checking out 'origin/master'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at ee34124... redactedcommitmessage
[email protected]:/redacted$ git pull origin master
From redacted:redacteduser/redactedrepo
* branch master -> FETCH_HEAD
Already up-to-date.
[email protected]:/redacted$ git submodule update --init --recursive
Submodule path 'redacted/redactedsubmodule': checked out '7019d5a442cc5f69e99f3434de23a646c563589a'
[email protected]:/redacted$ git submodule update --recursive --remote
<no output from this command>
에 터미널에서 위의 단계를 실행 한 출력의 대부분 그것은 master 브랜치에서 새로운 커밋을 업데이트하지 않았다는 것을 가리 키지는 않는다. 그래서 여기
[email protected]:/redacted$ git status
HEAD detached at origin/master
nothing to commit, working directory clean
[email protected]:/redacted$ git checkout master
M redacted/redactedsubmodule
Previous HEAD position was ee34124... redactedcommitmessage
Switched to branch 'master'
Your branch is behind 'origin/master' by 5 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
[email protected]:/redacted$ git pull
Updating b1cceb5..ee34124
Fast-forward
redactedlistoffiles
7 files changed, 94 insertions(+), 15 deletions(-)
create mode 100644 redactedfile1
create mode 100644 redactedfile2
을 볼 수있는 REPO는 여전히 5 뒤에 범했다대로 난 다음 내가 가져 오기, 체크 아웃 말했다 분기에 당겨 사용하더라도, 좀 더 많은 물건을 달렸다. 명령을 재정렬하거나 연속으로 두 번 실행해야합니까? 난 당신이 분리 된 머리에있는
분리 된 헤드에서 작업하는 이유는 무엇입니까? git fetch git checkout git pull origin –
나는 가끔씩 분리되는 이유를 모른다. 그것의 지금 붙어 있던 국가에서, 나는 희망한다. 그러나 나는 그것이 분리 된 상태로 다시 도착한 경우를 대비하여 여전히 준비되기를 원합니다. 단계를 다시 붙이시겠습니까? – fredlllll
리모컨에있는 장소를 git에 제공했기 때문에 연결이 끊어졌습니다. : : git checkout -f origin/, git checkout , o-f 또는 origin / –