본문 바로가기

728x90
반응형

개발/Git

(10)
[Git] 특정 버전으로 되돌리기 Git을 사용해 협업하다 보면 이전 commit으로 되돌아갔다가 다시 작업을 수행하거나 영영 프로젝트를 되돌려야 할 때가 있다. 그래서 일시적으로 특정 버전으로 되돌아가는 방법과 영구적으로 특정 버전으로 되돌아가는 방법을 공유하려고 한다. 되돌아가기 위해서는 어떤 지점으로 돌아갈 것인지 명시해줘야 하는데 두 가지로 명시 가능하다. 첫 번째는 최근 커밋을 기준으로 숫자를 지정해줘 그 숫자만큼 돌아가는 것이고 두 번째는 commit 해시 코드를 통해 원하는 지점으로 바로 이동하는 것이다. 그래서 첫 번째 방법은 최근으로 돌아갈 때 사용하면 좋고 두 번째 방법은 먼 과거로 돌아갈 때 유용하다. 1. 일시적으로 이전 버전으로 되돌아가기 # 최근에서 n만큼 돌아가기 git checkout head~{n} # 해시..
[Git] commit 상태로 초기화하기 프로젝트를 수행하다가 다른 사람의 브랜치에 있는 코드를 참고하기 위해 파일을 열었는데 뭔가 수정을 해버려서 push 해주지 않으면 브랜치 변경을 할 수 없게 됐다. 그렇다고 다른 사람이 작업하던건데 내가 수정하면 안 될 것 같아 commit된 파일로 다시 되돌리는 방법을 찾았다. 방법은 총 두 가지가 있는데 협업하는데 아주 유용할 것이다. 첫 번째 방법은 모든 변경 파일을 되돌리고 싶을 때 사용하며, 두 번째 방법은 특정 파일만 상태를 되돌린다. 1. 첫 번째 방법 git reset --hard 모든 변경 파일을 전부 되돌리고 싶을 때 사용 2. 두 번째 방법 git checkout -- 파일이름 현재 디렉토리에 있는 파일이라면 파일이름에 ex.py를 넣으면 되고, 하위 디렉토리 아래에 있다면 ex/ex..
[Git] 맥북에서 깃허브에 대용량 업로드하기 인공지능 프로젝트를 진행하다보면 데이터나 모델 가중치 등 개수가 많고 용량이 큰 파일을 깃허브 레파지토리에 업로드하는 경우가 있는데 이럴 때 용량 제한으로 업로드가 거부된다. 그렇다고 방법이 없는 것은 아니니 M1칩이 탑재된 디바이스 기준으로 어떻게 해야 깃허브에 대용량 업로드가 가능한지 알아보자. 1. 준비물 Homebrew Git 2. Git-LFS 설치 git-lfs를 설치하면 100MB이하까지 무료로 대용량 업로드가 가능하다! 그래서 homebrew를 통해 설치해주자. brew install git-lfs 3. Git-LFS 설정 git-lfs가 설치됐다면 프로젝트 폴더로 가서 대용량 업로드 할 파일 타입?을 설정해주면 된다. cd [프로젝트 폴더] git-lfs track "*.*" # "[파일..
[Git] Commit 메세지에 issue 연결하기 git commit을 통해 커밋 메세지 입력 시 issue와 연결하기 위해서는 #[이슈번호]로 표기하면 된다. 하지만 -m 명령어가 아닌 notepad++나 다른 text 도구를 사용할 경우 #가 주석 기능을 수행하기 때문에 #[이슈번호]를 입력해도 커밋 메세지에는 보이지 않는다. 그렇기 때문에 #[이슈번호]를 사용하기 위해 주석 기능을 하는 문자를 바꾸면 된다. git config --global core.commentChar ";" ;를 사용하는 이유는 모르지만 관례인 것 같다.
[Git] git log 알아보기 현재 브랜치의 위치와 커밋 기록을 보기 위해 git log를 자주 사용한다. 근데 일반적으로 git log만 입력한다면 텍스트로만 보여주기 때문에 눈이 편하진 않다. 그래서 git log의 option에는 그래프로 시각화해주는 기능이 있다. # 일반적 git log # 그래프 git log --graph 그래프로 보면 어느 지점에서 merge되고 branch가 생겨났는지 등 좀 더 시각적으로 이해하기가 편하다.
[Git] GitHub에 대용량 파일 업로드 하기 (Git lfs) 일반적으로 github에 push할 때 100MB 이상 파일이 있다면 error가 발생하면서 push가 되지 않는다. 그래서 100MB 이상 파일을 업로드 하기 위해서는 git lfs를 사용해야 한다. 1. git lfs 설치 $ git lfs install 2. 100MB 이상 파일 추가 $ git lfs track *.(확장자명) $ git add .gitattributes 3. git commit and push $ git commit $ git push
[Markdown] 마크다운 이미지 삽입 및 이미지 크기 조절 깃허브에서 이슈나 ReadMe를 다룰 때 마크다운 언어를 사용하는데 이슈나 ReadMe 안에 이미지를 넣고 그 이미지의 크기를 조절하는 방법에는 두 가지가 있다. 1. 마크다운 사용(사이즈 조절 불가능) ![image](https://url/image.png) 2. HTML 태그 사용 (사이즈 조절 가능)
[Git] rebase로 커밋 기록 삭제하기 프로젝트를 진행하다가 이상한 걸 remote에 푸쉬해버리는 바람에 커밋 기록 삭제하는 방법을 찾아 다녔다 reset과 revert로도 할 수 있다는데,,, reset은 잘못하다가 커밋을 전부 날려 버릴 것 같아 사용하지 않았고 revert는 과정이 어려웠다. 그래서 위험하지만 성능 확실한 rebase로 커밋 기록을 삭제했다. 내가 한 방식은 rebase로 커밋 목록 보고 삭제하고 싶은 해당 커밋을 drop해준 다음에 remote에 푸쉬해주면 쉽게 커밋을 없애버릴 수 있었다. $ git rebase -i HEAD~? ?는 최근 커밋부터 ?에 넣을 숫자만큼 커밋 기록을 보여준다. 그래서 삭제할 커밋 메세지 or 커밋 해쉬 코드(git log를 통해 볼 수 있음)를 찾아 pick -> drop으로 변경해주고 ..

728x90
반응형