Git 5

깃(git) - 빈 커밋 Push 하기 (커밋이 트리거인 작업 실행)

빈 커밋 (Empty commit) Git과 연동되어 있는 자동 테스트/빌드를 포함한 여러 CI/CD 작업들은 새로운 커밋에 반응해 작동합니다. 가끔은 단순히, 프로젝트 소스는 유지한 채 소스 외의 부분에서 트리거를 일으킬 때가 있습니다. 아주 단순하게는, README 파일에 스페이스 하나 추가해서 커밋하는 등 방법이 있긴 하지만 그다지 좋은 방법은 아니예요. 이럴 땐 빈 커밋을 활용하면 좋습니다. Git에선 --allow-empty 옵션을 사용하면 돼요. git commit --allow-empty -m "Trigger notification" 메세지에는 아무 메세지나 적으시면 됩니다. 참고 https://coderwall.com/p/vkdekq/git-commit-allow-empty

Programming/Git 2019.08.12

깃(git) - 특정 커밋의 수정 내용 확인하기

과거의 특정 커밋 수정 내용 확인 깃으로 프로젝트를 관리하다 보면 예전 커밋의 변경 사항을 봐야할 때가 있기 마련입니다.간단한 명령어로 변경 사항을 확인할 수 있습니다.먼저 log 를 통해 원하는 커밋의 commit-id 를 알아냅니다. git log --oneline commit-id 를 복사했다면 다음 명령어들로 변경 사항을 알아낼 수 있습니다. git show COMMIT git diff COMMIT^! git diff COMMIT~ COMMIT git diff-tree -p COMMIT git show --color --pretty=format:%b $COMMIT 만약 현재 HEAD 가 가리키는 커밋의 변경 사항이 궁금하다면 commit-id 대신 HEAD 라고 적으면 됩니다. git show H..

Programming/Git 2019.01.10

깃(git) - 프로젝트/저장소마다 다른 계정 정보 사용하기

저장소별 계정 설정 Command line 에서 git을 사용하려면, git 설치 후 간단한 설정 두 가지 정도는 해줘야 편해요. 계정과 이름 설정을 해주면 git commit, git push 할 때마다 계정 정보를 입력하지 않아도 됩니다. git config --global user.name "awesometic" git config --global user.email "awesometic.lab@gmail.com" 뭐 이런 식으로요. 하지만 이게, 만약 제가 저장소마다 다른 계정으로 로그인해야할 경우 문제가 생겨요. 저런 설정 후 git commit을 때리면 묻지도 따지지도 않고 바로 global 설정된 계정 정보로 commit이 만들어집니다. 그 계정으로 하면 안 되는데 말이죠. 이럴 땐 저장소별..

Programming/Git 2018.04.02

깃(git) - 프로젝트 진행 중 저장소로부터 최신 소스 받아오기

git으로 관리중인 프로젝트에서 소스 코드를 막 변경하며 개발하다가, 저장소의 자신이 속한 branch의 소스가 다른 사람으로 인해 업데이트 되면 받아야 할 때가 생깁니다. 그냥 git pull 하면 충돌의 여지가 아주 많기 때문에 진행이 잘 되지 않습니다. 간단한 수정 또는 테스트용으로 살짝만 바꿨는데도 git pull이 잘 안 된다면, 아래와 같은 방법이 있습니다. 1. 기존 변경 사항을 무시 git reset --hard HEAD git pull reset --hard HEAD 는 가장 최근 커밋으로 소스 코드를 돌려버립니다. 이제 원격 저장소의 가장 최근 커밋과 같은 소스가 됐으니, 충돌이 일어날 리가 없죠. 이 상태에서 git pull을 하는 원리입니다. 아니면, git fetch --all g..

Programming/Git 2017.05.23

깃(git) - .gitignore 업데이트 후 적용하기

.gitignore 은 git으로 프로젝트를 관리할 때 관리하길 원하지 않는 파일명 규칙을 모아둡니다. 말이 어려운데, 만약 저 파일 안에 *.c 가 있으면 모든 C 소스 파일은 add, commite 되지 않아요. 버전 관리에 포함시키지 않습니다. 근데 처음 git 프로젝트를 생성할 때 같이 .gitignore을 생성했다면 몰라도, 프로젝트 진행 중 .gitignore을 업데이트 한다면 후에 적용해야 할 문제가 생깁니다. 그 문제를 손봐줍시다. 먼저 .gitignore을 입맛에 맞게 업데이트 해줍니다. 그리고, 새로운 .gitignore 규칙을 기존 파일들에도 적용하기 위해 아래의 명령어를 순서대로 쳐줍니다. 지우고, add하고, 다시 commit해주는 과정입니다. git rm -r --cached ...

Programming/Git 2017.05.23