전체 글
-
여러 branch 한번에 여러개 지우기Git 2021. 3. 10. 23:12
내 개발 피쳐들 작업하고 남의 브랜치 받아서 코드리뷰를 하다보면 로컬에 수 많은 브랜치들이 쌓이게 된다. 피쳐 브랜치들은 수명이 짧기 때문에 몇 일 몇 주만 지나도 많이 쌓인다. 브랜치가 많으면 보기 좋지 않으니 한 번에 여러개씩 지워보자. 한 줄 요약 git br | grep {{브랜치에 포함되는 문자열}} | xargs br -D 유닉스 계열 명령어인 xargs를 활용한다. xargs는 앞 명령의 결과를 인자로 받을 수 있다. 두 단계로 나눈다고 생각해보면 git br | grep feature의 결과를 git br -D {{여기}}에 넣어준다. 참고: https://medium.com/@rajsek/deleting-multiple-branches-in-git-e07be9f5073c
-
[IntelliJ] Mac Touch Bar - 기본으로 fn키 표시되게 설정Java/IDE 2021. 3. 8. 23:55
평소에는 외장 키보드를 연결해서 사용해서 불편함이 없는데, 가끔 노트북만 사용할 때가 있다. 근데 IntelliJ를 사용하다 보면 F12나 F6 등을 눌러야 할 일이 생긴다. 하지만 터치바에는 별 필요없는(?) 것들로 가득하다. 여기에 바로 F1~F12가 표시되게 해보자. 한 줄 요약 시스템 설정 - 키보드 - 단축키 - 기능 키 - 추가 (+버튼) - IntelliJ IDEA 선택 - 추가 완료 이미지 설명
-
[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 한 서버에서 데이터를 가져오..