Git 때문에 push 할 수 없으니까 살짝 적어주세요.

11010 단어 GitGitHub

일어나다



엄.일
HEAD detached from origin/master
뭐가 나왔지만 무슨 말인지 모르니까 일단 무시해.
어?오른쪽 끝은 항상 나타나는데master, 지금은 sha1의 번호가 있는데...
하지만 지금은 그것보다 더 일찍 나간다git push.

인수하다



네.push 통과되지 않습니다.
좀 우물쭈물하니 해결의 실마리가 있는 것 같다.

돌리다


잘 모르겠지만 해봐요.이
~/.emacs.d ❯❯❯ git reflog
1b97169 (HEAD) HEAD@{0}: commit (merge): mod
7d8e5fe HEAD@{1}: commit: mod
47361b3 (origin/master) HEAD@{2}: checkout: moving from 66f697eab8fc6f2e82f29b63
66f697e HEAD@{3}: commit (amend): fix
cfa08ff HEAD@{4}: commit: fix
85f5238 HEAD@{5}: commit: delete
47361b3 (origin/master) HEAD@{6}: checkout: moving from be561655e5307766c5a53284
be56165 HEAD@{7}: checkout: moving from bc06fe68c34b1f6003baedb608aab4d6fdb40dc8
bc06fe6 HEAD@{8}: checkout: moving from 8736c9838f9b4fcb1c1031197a2b9eebd2a2a2bd
8736c98 HEAD@{9}: merge origin/master: Merge made by the 'recursive' strategy.
43ba576 HEAD@{10}: commit (amend): fixed
47361b3 (origin/master) HEAD@{11}: commit (amend): fixed
ccf0fa3 HEAD@{12}: commit: fixed
bc06fe6 HEAD@{13}: checkout: moving from master to bc06fe6
5e08fde (master) HEAD@{14}: checkout: moving from bc06fe68c34b1f6003baedb608aab4
bc06fe6 HEAD@{15}: checkout: moving from be561655e5307766c5a53284721c5e16ca55da0
be56165 HEAD@{16}: checkout: moving from master to be56165
5e08fde (master) HEAD@{17}: checkout: moving from be561655e5307766c5a53284721c5e
be56165 HEAD@{18}: checkout: moving from b791e31898c80db7f4811f5f2981d64532c9e3f
b791e31 HEAD@{19}: checkout: moving from master to b791e31
5e08fde (master) HEAD@{20}: commit: add
bc06fe6 HEAD@{21}: commit: improve
be56165 HEAD@{22}: commit (amend): mod
b41820b HEAD@{23}: commit (amend): mod
왠지 git reflog 같은 게 나타나기 시작한 게 이상해.
그럼 이전checkout: moving from master to...으로 돌아갈까요?
아니오, 잠깐만요.5e08fde 있다 5e08fde, 왠지 다른 것도 많고...
신중을 기하기 위해서 우리는 이전master으로 돌아가자.
중요한 파일을 일시적으로 백업합니다bc06fe6.

오, 오른쪽 표시가 바뀌었다git reset!master~1 처음 사용하지만 왠지 효과가 있다고 생각한다.잘 모르겠지만!HEAD@{xx}도 나왔지만 이곳에 오면 방법이 있을 거예요.
도표삼를 꺼내 보세요.
/.emacs.d ❯❯❯ git gr
* 47361b3  (origin/master) 2018-08-11 hidsh fixed
| * 5e08fde  (master) 2018-08-11 hidsh add
|/
* bc06fe6  (HEAD) 2018-08-08 hidsh improve
* be56165  2018-08-07 hidsh mod
HEAD가 HEAD detached from origin/master로 돌아가기 전!
그렇군요. 5e08fde master~1 앞을 가리키는 건가요?
갈 수 있을 것 같아!
공제출, 일시master.사
~/.emacs.d ❯❯❯ git commit -m 'ggg'
HEAD detached from origin/master
nothing to commit, working tree clean
~/.emacs.d ❯❯❯ git  fetch -f origin HEAD:master
From github.com:hidsh/.emacs.d
 + 5e08fde...47361b3            -> master  (forced update)
강행했지만 드디어 돌아왔나 fetch -f.
여기master에서 해보세요.

좋아요.
드디어 돌아왔다pull.
도표를 다시 꺼내 보겠습니다.
~/.emacs.d ❯❯❯ git gr
* 47361b3  (HEAD, origin/master, master) 2018-08-11 hidsh fixed
* bc06fe6  2018-08-08 hidsh improve
* be56165  2018-08-07 hidsh mod
갈 수 있을 것 같아.

돌리다


아이고, 드디어 방법이 있구나.
그럼 넣고 싶은 변경 사항을 넣으세요.오
~/.emacs.d ❯❯❯ git c -m 'add'
[detached HEAD 0a2d7b0] add
 5 files changed, 341 insertions(+), 1 deletion(-)
 create mode 100644 ...
~/.emacs.d ❯❯❯ git s
HEAD detached from origin/master
nothing to commit, working tree clean
상투.또master.
물론 HEAD detached from origin/master도 맞을 것이다.
~/.emacs.d ❯❯❯ git push
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use

    git push origin HEAD:<name-of-remote-branch>
하지만 좀 알겠어요.
일단 push육, checkout의 건의에 따라 지점을 절단해 보세요.
~/.emacs.d ❯❯❯ git co master 
Warning: you are leaving 1 commit behind, not connected to
any of your branches:

  0a2d7b0 add

If you want to keep it by creating a new branch, this may be a good time
to do so with:

 git branch <new-branch-name> 0a2d7b0

Switched to branch 'master'
Your branch is up to date with 'origin/master'.
~/.emacs.d ❯❯❯ git branch br_add_hoge
~/.emacs.d ❯❯❯ git gr
* 47361b3  (HEAD -> master, origin/master, br_add_hoge) 2018-08-11 hidsh fix
* bc06fe6  2018-08-08 hidsh improve
* 47361b3  (HEAD -> master, origin/master, br_hoge) 2018-08-11 hidsh fix
* bc06fe6  2018-08-08 hidsh improve
* be56165  2018-08-07 hidsh mod
  :
~/.emacs.d ❯❯❯ git branch
  br_add_hoge
* master
분기가 끊어졌기 때문에 전환칠git팔.
~/.emacs.d ❯❯❯ git b-sw br_add_hoge
Switched to branch 'br_add_hoge'
~/.emacs.d ❯❯❯ git b-push
fatal: The current branch br_add_hoge has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin br_add_hoge
아이고.그러면 여기도 push의 건의에 따라 입력하십시오.
~/.emacs.d ❯❯❯ git push --set-upstream origin br_add_hoge
Total 0 (delta 0), reused 0 (delta 0)
To github.com:hidsh/.emacs.d.git
 * [new branch]      br_add_hoge -> br_add_hoge
Branch 'br_add_hoge' set up to track remote branch 'br_add_hoge' from 'origin'.
이어git→pull.
~/.emacs.d ❯❯❯ git pull
Already up to date.
~/.emacs.d ❯❯❯ git push
br_add_hoge
Everything up-to-date
그래.이번에 통과했어.
여기서 push구로 돌아가 지점master을 진행합니다.
~/.emacs.d ❯❯❯ git b-sw-master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
~/.emacs.d ❯❯❯ git merge br_add_hoge
Already up to date.
여기까지.
변경 사항을 다시 제출하십시오.
~/.emacs.d ❯❯❯ git add .
~/.emacs.d ❯❯❯ git c -m 'test commit'
[master f1870ae] test commit
 1 file changed, 1 insertion(+), 1 deletion(-)
~/.emacs.d ❯❯❯ git gr
* f1870ae  (HEAD -> master) 2018-08-11 hidsh test commit
* 47361b3  (origin/master, origin/br_add_hoge, br_add_hoge) 2018-08-11 hidsh fix
* bc06fe6  2018-08-08 hidsh improve
* be56165  2018-08-07 hidsh mod
그래, 그래.
그렇다면 이번에는 꼭 소원을 이루겠다merge.괜찮아요?

너무 좋아요!
응, 이번에는 끝이야.
마지막으로 지점을 꺼라.
~/.emacs.d ❯❯❯ git branch -d br_add_hoge
Deleted branch br_add_hoge (was 47361b3).

결과


응, 바로 그거야.
눈치챘을 때십 이미 안 좋은 일이 일어났고, 그 후에는 복잡해질 수 있다.
우란분절과 장난치는 날이 계속되고 있다.

참고 자료


gitpush가 불가능할 때의 대처법
git의 내부 구조에서 detached HEAD에서 탈출하는 방법을 찾다
Git 개념 정리 시도 push   ↩
이번에는 GitHub의 git식 자료 라이브러리라서 가볍게 시도해 봤는데, 이게 회사 안이라면... ↩
alias.s=status   ↩
실제로 .emacs.d 실패했고, alias.gr=log --graph --date-order --all --pretty=format:'%h %Cred%d %Cgreen%ad %Cblue%cn %Creset%s' --date=short 더하지도 않고 git pull 실패했다.  ↩
git fetch   ↩
-f   ↩
alias.c=commit   ↩
alias.co=checkout   ↩
alias.b-sw=checkout   ↩
아뇨, 아뇨, 이번엔 눈치챘지만 그래도 통과하고 싶어요?  ↩

좋은 웹페이지 즐겨찾기