목록Development/Git (53)
컴공생의 다이어리
GitHub Organization private 저장소 fork 허용 불가 - Cannot fork because forking is disabled 깃허브의 조직 repository에서 private 저장소를 fork하려고 하면 아래와 같이 Fork 버튼 부분이 비활성화되어 있는 상태로 마우스를 가져다 놓으면 Cannot fork because forking is disabled라는 문구가 뜬다. private 저장소의 fork를 활성화하기 위해서는 repository의 설정이 아닌 조직의 설정으로 들어간다. 그리고 나서 Member privileges 탭을 선택한다. 탭을 선택하고 나오는 화면에서 Repository forking 부분의 Allow forking of private repositor..
IntelliJ 깃 관련 플러그인 - GitToolBox 인텔리제이에서 유용할게 쓸 수 있는 플러그인 중 뭐가 있을까 하면서 블로그 보다가 GitToolBox라는 플러그인을 찾게 되었다. GitToolBox 플러그인은 협업할 때 쓰면 좋은 플러그인 같다. 뭔가 이상한 코드를 발견했을 때 이거 누가 작성한 코드인가 찾을 때 보통 커밋 히스토리를 뒤져가며 찾아야 하는데 이 플러그인은 코드에 가져다 놓으면 이 코드 라인의 마지막 수정자, 수정일시, 커밋내역이 아래와 같이 표시된다. Settings(Ctrl+Alt+S)에 들어가서 Plugins 탭을 누른 뒤 GitToolBox를 검색하고 Install을 한 뒤, IntelliJ를 재부팅하면 그때부터 GitToolBox의 기능이 바로 적용된다. https://v..
Git PR(Pull Request) local로 가져오기 Github에 PR을 날리고 해당 브랜치와 바로 Merge하지 않고 테스트를 한 후 Merge하는 것이 더 안전할 것이다. 이때 PR을 local로 가져오려면 아래 명령어를 사용하면 된다. git pull origin pull/{PR 번호}/head:{branch 이름} # ex git pull origin pull/2/head:main 나는 PR을 받은 브랜치를 로컬로 가져오고 나서 위의 명령어를 통해 PR을 가져온 브랜치에 합치면서 테스트를 진행한 후 확인하고 있다. 아래 과정처럼 사용하고 있다. # 1. 원격 저장소의 main 브랜치를 test라는 이름의 브랜치로 로컬로 가져옴 git checkout -b test origin/main # ..
GitHub 프로필 Organizations 탭?에 나의 organization 보이게 하기 나의 깃허브 프로필 organizations 탭을 보면 내가 속해있는 organization가 뜬다. 하지만 다른 사람이 내 프로필을 보면 organization이 안보이는 경우가 있다. 다른 사람도 내가 속한 organization을 보이게 하려면 우선 그 organization에 들어간다. 그리고 나서 People 탭을 클릭한다. 그리고 아래와 같이 나왔을 때 내 계정에 대해서 Private이라고 되어 있는 부분을 클릭하고 Public으로 변경하면 된다.
Git 특정 파일만 되돌리기 프로젝트를 진행하다가 작업 내용이 꼬이거나 하면 최근 커밋으로 초기화시킬때 보통 git reset --hard HEAD 명령어를 사용한다. 하지만 모든 작업 내용을 초기화하지 않고 특정 파일만 초기화하고 싶다면 git checkout 명령어를 사용하면 된다. git checkout 뒤에 변경하고자 하는 파일의 시점에 대한 커밋아이디를 넣고 그 파일의 경로를 넣어서 명령어를 사용하면 된다. git checkout https://hoyoung1.github.io/posts/git/2020-01-27-git-reset-HEAD-file git 특정파일만 되돌리기, 특정파일만 add 취소하기 특정파일의 작업 취소 그리고 특정파일의 add 취소에 대해 알아보자 HoYoung1.gith..
.gitignore가 적용이 안될때 .gitignore에 커밋에서 제거할 파일이나 폴더를 넣어놨음에도 불구하고 가끔 커밋이 되는 경우가 있다. 이경우 아래 명령어들을 입력해주면 된다. git rm -r --cached . 명령어를 통해 git의 캐시를 삭제한 후 커밋하면 해결되는 문제이다. git rm -r --cached . git add . git commit -m "clear git cache" git push +) 나의 경우 프로젝트가 어느정도 진행되고 나서 이 방식대로 했을 때도 해결이 가능했다. 하지만, 이 글의 첫번째 댓글을 보면 "package 폴더에서 실행하면 파일 모두 delete 되었다"라는 경우도 있어 git add . 명령어 뒤에 git status 명령어를 통해 한번 확인을 하고..
Gitlab ssh-key 등록 깃랩에 ssh-key 등록을 하기전 자신의 컴퓨터에 ssh-key를 발급해야 하는 과정은 아래 게시물을 참고하는 걸 추천한다. [Git] 컴퓨터에 github 계정 여러개 연동하기 : ssh-key 발급, 등록 컴퓨터에 github 계정 여러개 연동하기 : ssh-key 발급, 등록 github 계정이 부캐처럼 몇개 있는데 컴퓨터에서 각각의 계정에 대한 repository를 clone하고 commit을 push하는 것을 나는 Github Desktop을 사용해.. computer-science-student.tistory.com 이제 깃랩에서 발급한 ssh-key를 등록하는 과정을 정리하겠다. 우선 깃랩 홈페이지의 우측 상단의 프로필 이미지를 누르고 Edit profile..
Gitlab 깃랩 프로젝트에 멤버 초대하기 깃랩의 프로젝트에 멤버를 초대해서 협업할 수 있도록 하는 방법에 대해 정리하고자 한다. 1. 제일 먼저 초대하고자 하는 프로젝트에 들어간다. 2. 왼쪽 탭의 Project information에서 Members를 클릭한다. 3. 초대하고자 하는 사람을 아래 사진에서 빨간색 부분을 통해 초대를 하고 그 사람에게 주고자 하는 권한을 아래 파란색 부분에서 선택하고 맨 마지막 Invite 버튼을 눌러주면 초대완료이다.
Git 여러 커밋(commit) 하나로 합치기 이 글에서는 여러 커밋을 하나로 합치는 방법에 대해 정리하고자 한다. 만일 아래와 같이 커밋이 있다고 하자. 아래처럼 자잘자잘하게 나눠서 여러번 커밋했을 때 하나의 커밋으로 통합하고 싶을 수 있을 것이다. 이때, rebase의 -i 옵션을 사용해서 커밋을 통합할 수 있다. 만일 위의 사진에서 첫번째 커밋 부터 세번째 커밋까지 통합하고 싶다면 git rebase -i HEAD~3 명령어를 입력하면 된다. git rebase -i HEAD~(통합갯수) # ex git rebase -i HEAD~3 위의 명령어를 입력하면 아래 왼쪽 사진과 같이 3개의 커밋에 대해서 pick이라고 되어 있는 부분이 있을 것이다. 맨 위의 커밋을 제외하고 나머지 pick을 s 혹은 ..
Git 커밋(commit)들의 작성자(Author) 일괄 변경 커밋들의 모든 작성자를 한 사람으로 일괄적으로 변경하는 방법이지 여러 사람과 했던 커밋들에서 나의 커밋만 변경하는 방법이 아니다. 또한 이 커밋들이 이미 원격저장소에 push되어 있는 경우 강제로 push를 해야 한다. 이때, 강제 push로 인해 원격 저장소에 존재하는 기존 커밋들은 새로운 해시 값을 가진 커밋들에 의해 전부 덮어쓰기 처리된다. 이로 인해 해당 저장소를 가지고 개발 작업을 하던 다른 사람이 있었다면, 이후 그 사람은 해당 저장소에 대해 푸시를 하거나 풀을 할 때 에러를 만나게 되니 상황을 잘 생각해보고 결정하는게 좋을 것 같다. 우선 아래 명령어를 통해 작성자 이름과 이메일을 일괄적으로 변경한다. git filter-bran..