Git

소프트웨어의 변경 사항을 체계적으로 통제할 수 있도록 하는 도구

 

Github

프로젝트 백업&공유&협업을 위한 도구

 

리눅스 명령어

pwd 현재 위치 출력

ls 현재 폴더에 있는 파일, 폴더 목록 출력

ls -a 숨김 파일, 폴더까지 모두 출력

ls -l 파일 정보까지 출력

. 현재 디렉토리

.. 상위 디렉토리

cd 홈(Desktop의 상위 폴더)으로 이동

mkdir 폴더 생성

touch 파일 생성(생성 시간, 날짜 변경용으로도 사용)

 

협업 시 세팅 단계

팀장

  1. 레포지토리 생성
  2. 로컬에 폴더 생성
  3. 초기 코드 작성
  4. 기본 git 명령어 실행 & 초기 코드 push
    • git init
    • git branch -M main
    • git remote add origin 깃허브 주소
    • git add
    • git commit
    • git push origin main
      • fatal: 관계 없는 커밋 내역의 병합을 거부합니다 발생 시
      • git pull origin main --allow-unrelated-histories
    • git switch -c dev
    • git push origin dev
  5. Setting
    • General - Default branch 변경 (main은 배포용으로만 사용, dev를 머지용으로 대체)
    • collaborators - 협업자 등록
    • Branches > Add classic branch protection rule (선택 사항)
      • branch name pattern - 보호할 브랜치명 작성 (dev)
      • protect matching branches - 원하는 규칙 선택
        • Require a pull request before merging > Require approvals - 설정한 인원 수가 PR 승인해야 머지 가능
        • Do not allow bypassing the above settings - 팀장도 PR을 해야만 머지 가능

팀원

1. 로컬에 폴더 생성

2. git clone url .

 

기능 개발

  1. 기능 브랜치 생성
  2. 기능 브랜치에서 add, commit, push
  3. PR
  4. git pull origin dev (합치기 전 충돌 테스트)
  5. merge
  6. dev 브랜치에서 git pull origin dev (머지 완료된 코드 다시 받아오기)
  7. 다음 개발할 기능 브랜치 생성 -> 반복

 

Git 명령어

  • git init git이 코드 관리 시작
  • git clone url . 내 로컬에 레포지토리 복제
    • git clone -b 브랜치명 url . 해당 브랜치를 디폴트로 로컬에 클론 (팀장이 디폴트 브랜치를 설정 안 한 경우)
    • 프로젝트용으로 만들어둔 폴더가 없다면 맨 끝 .은 생략
  • git remote add origin 깃허브 주소 깃허브 주소를 origin으로 대체
    • git remote -v 현재 리모트된 깃허브 주소 확인
  • git branch -M main master를 main으로 이름 변경
  • git branch 브랜치명 브랜치 생성
  • git branch -d 브랜치명 브랜치 삭제
    • 기능 머지 완료 후, 특정 기능 작업용 브랜치 삭제 (ex. feat/login 브랜치)
  • git branch 브랜치 목록 출력
  • git switch 브랜치명 해당 브랜치로 이동
    • 또는 git checkout 브랜치명
  • git switch -c 브랜치명 브랜치를 생성하면서 이동
    • 또는 git checkout -b 브랜치명
  • git status 파일 상태 코드 변경은 있지만 add되지 않은 파일(스테이지에 올려야 하는 파일) add된 파일(커밋해야 하는 파일)
  • git add 파일명 해당 파일을 스테이지에 올리기
    • git add . 변경이 있는 모든 파일을 스테이지에 올리기
  • git commit -m "메세지" 커밋 + 커밋메세지 작성
    • vim 에디터 출력 시, 아래 5단계 진행
      1. i (insert 라는 뜻으로, i를 입력하면 커서가 나타남)
      2. 커밋메세지 작성
      3. esc
      4. :wq (w-저장/q-나가기)
      5. enter
  • git pull origin 브랜치명 해당 브랜치에 있는 내용을 가져옴
    • 아래와 같은 경고문 출력 시, git config pull.rebase false 입력 후 다시 pull

 

  • git push origin 브랜치명 해당 브랜치에 커밋 내용 푸시
    • git push -u origin 브랜치명 이 명령어 이후부터는 git push만 입력해도 푸시(추천 안 함)
  • git merge 브랜치명 해당 브랜치를 현재 위치 브랜치에 머지
    • 최종 머지용 브랜치로 이동 후 git merge 작업한 브랜치 입력
    • 머지는 pr을 거쳐서 하기 때문에 이 명령어는 거의 안 씀
  • git log 커밋 내역 출력 
    • 커밋 id, 커밋 시간, 커밋 메세지 출력
    • 확인 후 키보드 q로 빠져 나오기
    • git reset 커밋 아이디 git log를 통해 얻은 커밋아이디를 통해 해당 시점의 코드로 돌아감
  • git reflog 나의 모든 git 명령 기록 출력

 


☝️ push하기 전에 내 로컬에 pull해서 충돌이 있는지 먼저 테스트 해보고 push-PR-merge 하기

☝️ PR 발행 후 충돌/충돌 예정 시, 로컬에 최종본 pull -> 로컬에서 충돌 해결 -> push 하면 자동으로 PR에 수정 사항 반영 됨 (재차 PR 발행할 필요 없음!)

 

👇 커밋 템플릿 사용하기

https://jihyun-hamster.tistory.com/132

 

깃 커밋 템플릿 만들어서 간편하게 커밋해보자!

커밋을 제대로 하는건 참 좋은 습관이다. 연습이 많이 필요한 '기능 단위로 나눠서 커밋하기'는 경험을 통해 차차 나아갈 수 있지만, 커밋 메세지는 오늘 당장 획기적으로 발전할 수 있다! 바로

jihyun-hamster.tistory.com

 

👇 DB 환경변수 세팅하기

https://lahezy.tistory.com/105

 

자바 환경변수 처리, Intellij에서 환경변수를 설정하여 실행시키는 방법

IntelliJ 설정 파일에서 Application 환경 변수 처리하는 방법 1. 우선 원하는 프로젝트를 한번 실행시킨다. (run) 2. Edit Configuration에 들어간다. 2. 실행시키려고 하는 Run Configuration에 들어간 후에 Environme

lahezy.tistory.com

 

'도구 & 환경 설정 > Git' 카테고리의 다른 글

커밋 컨벤션 규칙 (Conventional Commits)  (0) 2025.03.10