Mastering Git
-
Ch12. Merge ConflictsRay Wenderlich/Mastering Git 2021. 8. 23. 00:58
What is a merge conflict? Git은 Merge를 할 때, Longest Common Subsequence(LCS)를 사용한다. 먼저 내가 수정한 파일과 Common ancestor의 변경사항을 비교하여 공통부분을 찾는다. 그 다음, Merge할 브랜치의 파일을 Common ancestor와 비교하여 공통부분을 찾는다. Git은 이 방식으로 LCS를 찾아낸 뒤 비교해본다. "What has changed between the common ancestor and this new file?" 그 다음, "Now, of those changes in each pair of files, are there any sets of lines that have changed differently be..
-
Ch11. How Does Git Actually Work?Ray Wenderlich/Mastering Git 2021. 8. 23. 00:57
Git은 SHA-1해쉬 값으로 모든 Commit을 참조한다. Dissecting the commit git log -5 --oneline f8098fa (HEAD -> master, origin/master, origin/HEAD) Merge branch 'clickbait' with changes from crispy8888/clickbait d83ab2b (crispy8888/clickbait, clickbait) Ticked off the last item added 5415c13 More clickbait ideas fed347d (from-crispy8888) Merge branch 'master' of https://www.github.com/belangerc/ideas ace7251 Addi..
-
Ch10. MergingRay Wenderlich/Mastering Git 2021. 8. 21. 16:32
Three-way merges 2개의 수정을 merge할 때, 각각의 수정 사항을 합치는 것을 생각해보자. 이 것은 two-way merge이고, 우리가 실제로 이해하기 쉬운 방식이다. git은 Three-way merge를 한다. 파일의 변경을 마친 상태 그대로 mere하는 것이 아닌 original 파일으로부터 수정된 사항을 merge하는 것이다. merge conflict가 발생하는 경우를 제외하면 git은 three-way merge를 통해 오류없이 merge해줄 것이다. Merging a branch git log --not theirs에는 있지만 ours에는 없는 commit을 보여준다. Fast-forward merge original 파일을 나 말고 아무도 건드리지 않았다면 Fast-for..
-
Ch8. Syncing With a RemoteRay Wenderlich/Mastering Git 2021. 8. 21. 16:26
git push origin master # master 브랜치를 remote(origin)와 syncronize 하여라! git pull origin # editor opens Merge branch 'master' of https://github.com/belangerc/ideas # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit. git pull은 gi..