내 개발 중 하나로, 난 내 codebase 분기로서의 약간의 변화가 있었다. 전 그냥 작업할 수 있었던 것은, 내가 내 현재 피쳐에는 완료하십시오 전환하십시오 드라이버로의 마스터에는 데모 일부 기능을 할 수 있다. 다만, 깃 (git) 을 사용하여 체크아웃합니다 " master". 이 때문에 일부 변경 아니했으니 제가 베지로프도 내 개발 브랜치에서 끊기 기능을 사숙님! 그래서 내가 한 것은 변경 내용을 커밋합니다 on my 개발, 임시 commit" " 지사급 수신기마다 커밋합니다 메시지. 마스터가 후 체크아웃합니다 데모.
이제 다시 작업할 수 있는 수행됨 I& # 39 m, 데모 및 개발, 임시 commit" " 분리하십시오 분기로의 내 하고 싶다. 내가 내가 내가 그대로 유지할 수 있는 상태에서 변경을 했다. 가능하지?
git reset HEAD^
깃 (git) '' 없이 '이동' 또는 '네' 헤드 '' 하드 재설정하지 소프트 가리키십시오 지정된 로칼에서 변경하지 않고 파일. '^' 헤드 (first) 는 현재 사용자의 경우, 즉 커밋합니다 모피쳐 커밋합니다 전에 커밋합니다 임시 하나.
단, 또 다른 옵션은 정상적으로 수행할 수 있는 점, 그리고 그 다음 커밋합니다 대신 실행하십시오:
git commit --amend [-m … etc]
단, 이 경우 문제가 발생할 수 있습니다 (깃 (git) 등 거의 모든 답), ve you& # 39 곳) 를 통해 이를 다른 사람이 이미 커밋합니다 끼워졌는지 나쁜 모습을 가질 수 있습니다. 그런 상황을 피하기 위한 시도하시겠습니까
취급료 이 두 가지 방법이 있다. 이는 쉽게 자신의 상황에 따라 달라집니다.
마지막으로 로칼에서 진실이며당신이 매핑하려는 커밋합니다 폐기할 경우 아직 추가로 사용할 수 있습니다 'git 재설정하지 작동합니까 단순히'
git reset HEAD^
는 너회의 분기로의 백됩니다 직전 커밋합니다 현재 헤드입니다. 그러나 실제로 파일을 사용자의 작업 진단트리 변경하십시오 doesn& # 39, t 이에 따라 변경 등과 같은 & # 39 는 증대하고자 하는 것으로 볼 수 있었던 수정되었음 uncommit& # 39 -;; 함장님이요 사실 나는 앨리어스를 보장합니다.
git config --global alias.uncommit 'reset HEAD^'
깃 (git) 을 사용할 수 있습니다 '그냥' 한 향후 운코미트 백업하도록 커밋합니다.
한 두 개 이상의 커밋한 고말은 커밋합니다 밀어 넣기 결합하여 하나의. 나는한다 이 경우가 많습니다. 이 경우, 그리고 당신이 반단면 수행되 피쳐보다 최선을 다하고 있는 것, 다시 끝장내버려 끄기나 커밋합니다 이벤트수정적절한 영구적입니다 커밋합니다 메시지.
git rebase -i <ref>
내가 말하는 < ref>; i want to make it 선택해제합니다 때문에 위의 대수는 뒤로를 커밋한 이 있다. 깃 (git) '와' 실행하십시오 로깅합니다 커밋합니다 폐기할 것인지, 이를 사용하여 sha1 및 복제본에 찾을 수 있다 ',' 대신, ref> <. 깃 (git) 를 클릭하면 대화형 리베이스 모드. 현재 상태 사이의 모든 커밋한 표시됩니다 너희에게 동일팔레트에 대신, ',' < ref>. 만일 ',' 로 표시되며, 전체 10 전 10 < ref> 커밋한 커밋한.
각 단어 '선택' 앞에서 로칼에서 할 것입니다. '선택' 에서 찾을 수 없는 환경 구축 및 매핑하려는 커밋합니다 변경하십시오 '수정' 또는 '스쿼시'. 단순히 '수정' 사용하여 있는 메시지 및 그 이전 목록에서 즉시인지 병합합니다 커밋한 discards 바뀝니다. 이 같은 일이 있지만, 스쿼시 '키워드' 가 새로 조합된 커밋합니다 메시지일까요 커밋합니다 편집할 수 있습니다.
참고로 커밋한 될 때 편집기에는 종료하십시오 명단에 다시 최선을 다하고 있습니다 순서에 따라 무산되었다. 만일 만든 임시 로칼에서 그후 같은 컨트롤러상의 분기로의 다른 작업, 그리고 나중에 사용할 수 있습니다 다음 피쳐보다 완료됨으로 로칼에서 리베이스 아니하였으매 재정렬할 커밋한 및 스쿼시 저들이요 이
WARNING:*
리베이스 수정되므로 기록 - 이렇게 와 공유됨 developers.* 커밋한 이미 다른 모든 않습니다.
보관 한 *
앞으로 이 문제를 피하기 위해 임시로 저장하기 위한 '비밀창고' 커밋되지 않은 작동합니까 깃 (git) 을 사용하는 것이 좋습니다.
git stash save 'some message'
이 off 를 저장할 수 있는 현재 변경 사항을 때는기대어 비밀창고 목록. 가장 위에 명시성 버전의 비밀창고 명령을 할 수 있도록 보관 한 셀명 너희는너희가 설명하는 데 있다. 깃 (git) '와' 비밀창고 아무것도 없고, 단순히 수도 있습니다 실행하십시오 메시지일까요 저장됩니까.
네 비밀창고 list 를 찾아볼 수 있습니다.
git stash list
이렇게 하면, 어떤 이들은 이 메시지가 너회들을 표시 너회의 숨겨 놨다 분기로서의 수행 및 각 줄의 앞 부분에 있는 stash@ {} 이 어떤 모양을 및 식별자입니다 비밀창고 '#' 은 그 위치에 있는 # 배열에 숨겨 놨다.
명령복구하기 비밀창고 (수행할 수 있는 모든 지점, 위치에 상관없이 비밀창고 처음 만들어진 실행하십시오 됩니다.
git stash apply stash@{#}
그러므로, 예를 들어, 만약 내가 내 자신을 찾을 수 있습니다 잘못된 분기 - 내가 작업하는 다음과 같은 순서로 실행하십시오 명령.
git stash
git checkout <correct_branch>
git stash apply
조금 더 이동할 수 있는 경우 분기로서의 있지만, 같은 생각은 여전히 적용됩니다.
ᄋ "이번 도움이 됩니다.
I think you are 보았으매 엔드입니다
깃 (git) 1 '-' 소프트 헤드에게 재설정하지 ~
가장 최근의 it 되돌림 커밋합니다 증대하고자 하는 동안 계속 변화가 스태이징.
네, 네 변경 내용을 삭제하지 않고 커밋합니다 삭제할 수 있습니다. git 재설정하지 @ ~
소프트 HEAD\ git 재설정하지 '^'
여기에 설명했다. https://github.com/robbyrussell/oh-my-zsh/issues/449
이 경우, 중요한 부분인 죽은입니다 URL 입니다.
>. 피할 수 있는 명령을 ^
>. 사용할 수 있도록 헤드에게 don& 수도 있습니다 ~ # 39, 피할 수 없는 때마다.
이 3 가지 모드를 재설정하지 명령을 명시된 대로 [docs] [1]:
깃 (git) '' 명령취소할 커밋합니다. 여전히 존재하는 변경되는지 apc® 트리 (프로젝트 폴더) + 인덱스 (캐싱됨)
깃 (git) '+' 추가 커밋합니다 명령취소 '깃 (git)'. 여전히 존재하는 apc® 진단트리는 변경
이러한 변화를 할 수 없다 "며" 같은 코드베이스. 변경 사항은 &solarisdvd apc® 진단트리 않다.
[1]: # git 마그리트레스트레믈트모디그틀트코메이크트 재설정하지 https://git-scm.com/docs/git-reset/2.3.9
깃 (git) 을 사용하여 2.9 (정확히 말하면 2.9.2.windows.1) 깃 (git) '보다' 재설정하지 헤드입니다 ^ 묻습니다. 여기에 대해 잘 모르는 입력입니다 예상된다. 아래 스크린샷 참조하십시오.
깃 (git) 을 사용하여 다른 솔루션을 찾을 수 있는 '머리' 를 선택할 수 있습니다 ~ # 노엄브로프코미츠 재설정하지 커밋한 변경 내용을 그대로 유지하면 재설정하려면 로컬 수 있습니다. 따라서 버릴 수 있는 기회를 얻을 수 있을 뿐만 아니라 국내 모든 로컬 커밋한 제한된 수의 커밋한.
깃 (git) 을 보여주는 '실천' 아래 스크린샷 재설정하지 헤드입니다 ~ 1) 는 다음과 같은 뜻이 있다. ! [입력하십시오. 이미지 여기에 설명을] [2]