Github
-
[Git 입문편] 10. cherry-pick, tagGit 2021. 3. 8. 23:36
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. cherry-pick 다른 커밋을 가져옴 커밋의 수가 적다면 merge나 rebase보다 간결하고 깔끔한 트리를 유지할 수 있음 git co master git co -b feature/f vi README.md git ci -am 'Cherry-pick test' git co master git cherry-pick {{hash}} tag 릴리즈를 하기 위한 브랜치 같은 것 GitHub에서 Release를 만들면서 하면 편함 -- 이때까지 작업한 것을 push git push GitHub 실습 releases 클릭 create a new release 태그 이름: v1.0.0 기준 브랜치: maste..
-
[Git 입문편] 9. resetGit 2021. 3. 8. 23:33
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. reset 상태를 이전 커밋으로 reset 시킴 옵션에 따라서 몇 커밋 이전 / 어느 단계(Staged, Modified, Unmodified)까지 reset 할지를 결정 show: 커밋 정보를 보여줌 HEAD == @, ~ == ^ ex) HEAD~, HEAD^, @~, @^ : 한 커밋 이전 @~2: 2커밋 이전 옵션 --soft commit 명령만 되돌림 (Staged 상태가 됨) HEAD만 해당 커밋으로 돌림 vi README.md git ci -am 'Commit for reset exer' git reset --soft @^ git st --- On branch develop Changes ..
-
[Git 입문편] 8. rebaseGit 2021. 3. 8. 23:23
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. rebase 1. 다른 브랜치와 병합 (3.6 Git 브랜치 - Rebase 하기) 기능은 merge와 같음 (코드를 합침) 내 브랜치의 커밋을 대상 브랜치의 위(다음)으로 생성함 깔끔한 로그를 유지할 수 있음 실습 상황: master의 변경들을 feature/c에서 rebase 해본다 대상 브랜치의 커밋만 진행 (fast-forward) 두 브랜치 모두 커밋이 있지만 충돌이 나지 않음 (auto merging) 두 브랜치 모두 커밋이 있고 충돌이 남 (conflict) 2. 커밋 여러개 수정하기 주의 push해서 누군가 사용하고 있는 커밋을 rebase 하면 안됨 (헬게이트가 열림) 해당 커밋을 기반..
-
[Git 입문편] 7. stash, mergeGit 2021. 3. 8. 23:17
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. stash 작업 하던 내용을 임시 저장 브랜치에서 작업하다가 다른 브랜치로 변경해야 하는데 커밋은 하고 싶지 않은 경우 stack처럼 작동 (First In, Last Out) stash, pop을 많이 사용 실습 vi README.md git stash git st git stash list git stash pop git st apply, drop 등의 옵션이 있음 merge 협업의 핵심. 다른 브랜치와 현재 브랜치를 합쳐서 코드를 합침 방식 fast-forward 커밋들이 공통이고 대상 브랜치의 커밋만 증가 했을 경우 단순히 HEAD만 옮겨짐 3-way Merge 두 갈래로 나온 변경들을 합쳐서 ..
-
[Git 입문편] 6. push, pull & fetchGit 2021. 3. 7. 23:48
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. push 로컬 브랜치의 정보를 원격 저장소로 업로드 Clone 한 리모트 저장소에 쓰기 권한이 있어야 함 같은 브랜치로 여러명이 받아서 누군가 push를 했다면 나는 push 안됨 다른 사람이 작업한 것을 가져와서 합친 후에 (Merge or Rebase) Push 할 수 있음 git co master git push [origin] [master] 옵션 --force (-f) 내 로컬 브랜치로 원격 브랜치를 덮어 씌워버림 내가 혼자 작업하던 feature 브랜치에서만 사용해야함 시나리오: 누군가 악의적으로 master브랜치를 망가뜨린다면? pull & fetch Clone 한 서버에서 데이터를 가져오..
-
[Git 입문편] 5. branch, checkoutGit 2021. 3. 7. 23:41
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. branch (br) 커밋 사이를 가볍게 이동할 수 있는 어떤 포인터 같은 것 (3.1 Git 브랜치 - 브랜치란 무엇인가 ) 하나의 작업 공간 단위 정도로 생각 브랜치 확인: git br 브랜치 생성: git br test/1 브랜치 삭제: git br -D test/1 branch 전략 대표적인 Git Flow master (2020년 10월부터 master에서 main으로 변경됨) git init하면 생기는 태초의 브랜치 배포 가능한, 말그대로 master(main) 브랜치 보통 태그를 따서 태그로 배포함 develop 보통 작업할 때 기준이 되는 브랜치. 개발 서버에도 평소에는 develop 기..
-
[Git 입문편] 4. add, commitGit 2021. 3. 4. 23:25
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. add 파일을 Staged 상태로 만듦 -> 파일을 Git이 관리하는 상태로 만듦 Untracked / Modified 상태의 파일에 사용할 수 있음 이제 commit을 하면 코드를 저장할 수 있음 Untracked 에서 진행 echo "## Git class" >> index.md git st --- On branch master Untracked files: (use "git add ..." to include in what will be committed) index.md nothing added to commit but untracked files present (use "git add" to ..
-
[Git 입문편] 3. status, logGit 2021. 3. 4. 23:12
본 포스팅은 저의 인터넷 강의인 실무자가 알려주는 Git - 입문편의 강의안을 바탕으로 작성하였습니다. status (st) 현재 git이 관리하는 파일들의 상태를 보여준다. 어떤 파일들이 Untracked인지, Staged인지, Unmodifed인지 등을 알 수 있다. Untracked files : Untracked 상태인 파일들 cd ~/git-exer echo "status exer" >> st.md git st --- On branch master Untracked files: (use "git add ..." to include in what will be committed) st.md nothing added to commit but untracked files present (use "gi..