목록Development/Git (53)
컴공생의 다이어리
GitKraken 설치 GitKraken은 소스트리(SourceTree), GitHub Desktop과 같은 Git의 GUI 툴이다. 오늘은 깃크라켄 설치방법에 대해 정리하고자 한다. 아래 사이트에 접속해서 자신의 운영체제에 맞는 설치파일을 다운로드 한다. https://www.gitkraken.com/download Download Free Git Client - Windows, Mac, Linux | GitKraken Download the free Git client for Windows, Mac & Linux! GitKraken Git GUI is free for use with public repositories. Join leading companies like Google, Microsoft..
[Git] Shallow Clone(git clone --depth) 한 후에 이전 히스토리(history) 복원 저장소의 전체 이력 중 일부만 받아오는 Shallow Clone을 하고 난 뒤, 받아왔던 커밋 말고도 이전 커밋을 가져올 수 있다. 만일, Shallow Clone을 한 후 저장소의 일부 커밋이 아닌 전체 커밋 히스토리를 불러오려면 아래 명령어를 입력하면 된다. git fetch --unshallow 그 다음 만일 최신 커밋을 포함해 n개의 커밋을 추가적으로 불러오고 싶다면 아래 명령어를 입력하면 된다. git fetch --depth={숫자(n)} # example git fetch --depth=15 https://nochoco-lee.tistory.com/200 25.1: Shallow..
Git 커밋 히스토리 없이 혹은 일부 히스토리만 클론 - Shallow Clone 깃 원격 저장소에서 커밋 히스토리가 아래와 같이 많이 쌓여있지만 필요에 따라 히스토리들을 모두 가져오지 않고 일부 히스토리만 가져오거나 히스토리 없이 클론할 수 있는데 이를 Shallow Clone이라고 한다. 히스토리 없이 원격 저장소 clone 히스토리 없이 원격 저장소의 최신 상태만 클론하고 싶다면 아래와 같은 명령어를 입력하면 된다. git clone --depth 1 {원격 저장소 주소} # example 1 git clone --depth 1 git@github.com:CodeDiary18/TEMP.git # example 2 git clone --depth 1 https://github.com/CodeDiary..
Git Cannot create a new backup.~ 관련 에러 Git에서 filter-branch를 사용하다보면 간혹 아래와 같은 에러가 나올 때가 있다. Cannot create a new backup. A previous backup already exists in refs/original/ Force overwriting the backup with -f 이를 해결하기 위한 방법으로 두가지 정도를 찾을 수 있었다. 첫번째는 git filter-branch 뒤에 -f 혹은 -force를 추가해서 사용하면 된다. 아래는 예시이다. git filter-branch -f --env-filter ' 두번째는 아래 명령어를 통해 백업을 제거한 뒤, 다시 작업하려고 했던 명령어를 입력하면 된다. git ..
GitHub 내 타임라인과 커밋 시간이 일치하지 않는 경우 깃허브 내 타임라인이 아래의 첫번째 사진과 같이 나올 것이라고 생각했는데 rebase 명령어를 사용한 후 실제 커밋 시간과 다르게 깃허브의 타임라인 시간과 일치하지 않는 일이 발생했다. 이 경우, 아래 명령어를 입력해준 뒤 git push -f 명령어로 원격저장소로 push하면 해결할 수 있다. git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' # 'Cannot create a new backup. ~' 에러 발생시 git filter-branch -f --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'..
Git 히스토리(커밋(Commit)의 날짜와 시간) 변경 : rebase 사용 깃에서 커밋의 날짜와 시간을 rebase를 사용해 변경하는 방법에 대해 정리하고자 한다. fiter-branch를 사용해서 커밋을 변경하고 싶다면 아래 게시물에 정리되어 있으니 이를 참고하면 좋을 것 같다. [Git] 깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : filter-branch 사용 깃 히스토리(커밋(Commit)의 날짜와 시간) 변경 : filter-branch 사용 깃 히스토리를 변경하기 위해서 필터링 기능을 이용하는 방법이 있다. 다만 모든 커밋 내역을 살펴보며 필터링을 수행한다는 점 computer-science-student.tistory.com 아래의 로그에서 빨간색으로 표시한 커밋의 날짜와 시..
Git 최초(initial) 커밋 rebase로 수정 Git rebase 명령어로 제일 최초(처음) 커밋을 수정하려면 아래와 같은 명령어를 입력하여 수정할 수 있다. git rebase -i --root 위 명령어를 입력하고 rebase 작업을 진행해주면 된다. https://github.com/HomoEfficio/dev-tips/blob/master/Git%20%EC%B5%9C%EC%B4%88%20%EC%BB%A4%EB%B0%8B%20Author%20%EC%88%98%EC%A0%95.md GitHub - HomoEfficio/dev-tips: 개발하다 마주쳤던 작은 문제들과 해결 방법 정리 개발하다 마주쳤던 작은 문제들과 해결 방법 정리. Contribute to HomoEfficio/dev-tips..
[Git] 특정 커밋(commit) 삭제 : rebase 사용 깃에서 특정 커밋을 삭제하려면 rebase명령어를 사용해서 삭제할 수 있다. 다음과 같이 로그가 있을 때 아래 표시한 커밋을 제거해보겠다. 제거하려고 하는 커밋의 이전 커밋 id를 git rebase -i 뒤에 넣어서 명령어를 입력해준다. 이 게시물의 예제로는 example 주석 밑의 명령어를 입력하면 된다. git rebase -i {제거하려고 하는 커밋의 직전 커밋 id} # example git rebase -i c0787fe491870f590a rebase 명령어를 입력하면 아래와 같은 화면이 나오는데 제거하려고 하는 커밋이 제일 위에 있을 것이다. 여기서 제거하려는 커밋의 작업 타입을 pick에서 d 혹은 drop으로 변경하고 저장 ..
GitHub 실수로 삭제한 저장소(Repository) 되살리기 깃허브에서는 삭제한 저장소를 복구하는 것이 가능하다. 오늘은 저장소를 복구하는 방법에 대해서 정리하고자 한다. 제일 먼저 프로필 사진을 누르고 Settings 탭을 클릭한다. 그리고 좌측의 Repositories 탭을 선택한 후 아래와 같이 화면이 나오면 Deleted repositories 탭이 나오면 클릭한다. 아래와 같이 삭제된 저장소 목록에서 복구하려는 저장소 옆에 있는 Restore 버튼을 클릭한다. (아래 캡처에서 파란색 부분에 있듯이 삭제하고 난 후 Deleted repositories 리스트에 표시되는데 최대 1시간이 걸릴 수 있으며 fork가 없거나 fork되지 않은 Repository만 복원 가능하다.) Restore 버튼..
Git 커밋(commit)들의 특정 작성자(Author) 일괄 변경 아래 게시물에서 커밋의 작성자를 일괄적으로 변경하는 방법(모든 커밋의 작성자를 변경)에 대해 정리한 적이 있다. 오늘 게시물에서는 나와 여러 사람들이 있는 커밋들 사이에서 나의 커밋 정보(작성자, 이메일) 즉, 특정 작성자의 정보를 변경하는 방법에 대해 정리하고자 한다. 이 방법 또한 같이 협업을 진행하고 있는 상황에서 독단적으로 처리하는 것은 위험하다. 프로젝트가 진행중이거나 의논이 필요한 상황이라면 협의를 하고 진행하는 것을 추천한다. [Git] 커밋(commit)들의 작성자(Author) 일괄 변경 Git 커밋(commit)들의 작성자(Author) 일괄 변경 커밋들의 작성자를 일괄적으로 변경하는 방법이지 여러 사람과 했던 커밋들에..