2013-05-20 1 views
0

git 관련.git - 현재 기능 지사를 유지하면서 '신선한'지사를 만드시겠습니까?

우리는 foo이라고하는 지사를 가지고 있습니다. 기능을 구현하기 위해 커밋 된 변경 사항과 커밋되지 않은 변경 사항이 많이 있습니다.

나는 나쁜 가정과 많은 것들을 많이 만들었습니다. foo은 더 이상 바람직하지 않습니다.

나는 foo에서 bar에 유용 비트를 다시 구현 수동 foo에 적용되는 변경 사항없이 새로운 기능 지점, bar을 만들고 싶습니다.

bar이 좋으면 foo 지점을 삭제합니다.

foo의 내용을 그대로 유지하면서 foo (새로운 시작)에없는 기능 분기를 만들려면 어떻게해야합니까?

답변

2

다시 master으로 전환하고 다시 분기 할 수 있다고 생각합니다.

변경하기 전에 커밋되지 않은 변경 사항을 커밋해야합니다.
(숨길 수는 있지만이 경우에는 좋은 생각이라고 생각하지 않습니다.)

+0

감사합니다. 나는이 문제를 해결했지만 내가했던 것보다 더 잘 설명해주었습니다. 내가 할 수있게되면 대답을 받아 들일 것이다 (현재 일종의 시간 제한이 있음). 다시 한번 감사드립니다. – glaucon

0

내 질문에 대한 답변입니다. 내가 잘못한 점은 새로운 지사를 만들 때 여전히 지사에 있었기 때문에 foo의 현재 상태를 파악하고 있다는 것입니다.

foo에있는 것을 모두 입력 한 다음 master을 체크 아웃하면 bar을 새로 만들었습니다.

1
git checkout -b bar <commit> 

여기에서 <commit>은 분기하려는 커밋입니다. 커밋 찾으려면 같은 명령으로 자신 그래프 역사를 검사 할 수 있습니다 :

git log --decorate --graph --pretty=oneline --abbrev-commit 

가 프로그래밍 (당신이 master에서 분기되어 가정) 커밋 찾으려면

git merge-base foo master 
+0

OK! 그게 지금 필요한 것 이상이지만 유용한 정보입니다 - 고마워요. – glaucon

+1

메모처럼'--pretty = oneline --abbrev-commit'은'--oneline'과 같습니다. –