반응형
반응형

📝상황

"pilot-001"이라는 브랜치를 생성해 작업 후 origin/master에 최종 병합

 

📝작업 단계

  1. 원격 pilot-001 브랜치 생성
  2. 원격 pilot-001 브랜치로 체크아웃 후 작업 → 로컬 pilot-001 브랜치에 작업 내용 쌓임
  3. 로컬 pilot-001 브랜치 원격 pilot-001 브랜치로 push
  4. 돌발!!! → origin/master로 작업한 사람 있는 경우 origin/master 체크아웃 후 update project후 origin/master to master master 최신화
  5. master를 로컬 pilot-001에 병합 → 로컬 pilot-001은 master 즉 origin/master와 동일한 버전 가짐
  6. 로컬 pilot-001를 원격 pilot-001에 push → 원격 pilot-001 최신화
  7. 원격 pilot-001을 origin/master에 병합 → 최종 작업[pilot-001] 브랜치를 origin/master로 병합
반응형
반응형

📝Git

리누스 토르발스가 개발했으며 산형 저장소로 소스를 관리(이력, 소스 Merge, 롤백 등...)해주어서 협업시 작업 후 올리기만 하면 알아서 합쳐지고 추후에는 배포하는 과정까지 같이 이용하게끔 할 수 있다

 

📝GitHub

마이크로소프트의 Git 플랫폼으로 웹에서 Git에서 명령어를 입력해야 볼 수 있는 이력, 관리에 프로젝트 협업 기능까지 넣은 플랫폼이다

 

 

📝Git Workflow

 

Git의 동작은 총 4가지로 이루어져있다

 

  1. Working Directory
    1. 작업할 파일이 있는 디렉토리 즉, 로컬에서 내가 하고 있는 현재 프로젝트
  2. Staging Area
    1. 커밋(commit)을 수행할 파일들이 올라가는 영역 [모든 변경사항을 관리하며 어떤 변경된 파일에 대해서 올릴지 정의]
  3. Local Repository
    1. 커밋된 파일들이 저장되어져 있는 공간 (로컬에서의 Git 관리)
  4. Remote Repository
    1. 커밋된 파일들을 로컬이 아닌 다른 서버에 올리는 공간 (원격에서의 Git 관리) [협업]

 

📝Git 용어

  • Branch
    • 나뭇가지라는 뜻으로 독립적으로 어떤 작업을 진행하기 위해 따로 분기시켜 작업 이력을 관리하는 것을 의미한다 예를 들면 Master에는 배포하는 완벽한 제품이기 때문에 완전한 기능이 나올때 Master에 올려야한다 그 외의 작업은 기능별로 Branch라는 걸 만들어서 작업한 후 Merge하게 된다
  • Merge Conflict
    • Merge한 Branch에서 같은 파일을 변경했을 때 충돌이 발생 예를 들면 A라는 사람이 10번라인 수정하고 B라는 15번라인 수정할 때 자동적으로 Merge가 되면 좋지만 그렇지 않을 경우 Git에서 충돌이나서 합칠 수 없다는 에러 사항이 발생하게 된다. 일반적으로 같은 파일을 동시 작업하지 않아야하며 작업할 경우 Commit주기 및 Push 주기를 짧게 가져가야한다
  • commit
    • 변경사항을 로컬에 저장
  • push
    • 변경사항을 원격 저장소에 저장 및 업로드
  • pull
    • 원격 저장소에서 변경된 내용을 로컬 저장소로 가져온다

 

 

📝Git 파일 종류

  • .git
    • 커밋과 브랜치 등 관리되는 파일의 정보들이 모두 .git 안에서 관리
  • gitignoire
    • 커밋하지 않을 파일에 대한 정의가 적혀있다

 

📝Git 변경 이력

  • origin
    • 원격 저장소를 의미
  • master
    • 로컬 저장소 마스터 브랜치
  • lalala
    • 로컬 저장소lalala이름의 브랜치
  • head
    • 현재 어떤 작업 공간에 있는지 알려준다
  • origin/master
    • 원격 저장소의 브랜치
  • origin/lalala
    • 원격 저장소lalala이름의 브랜치

 

📝Git 명령어

  • 커밋 이름 변경
    • git config --global user.name "Mona Lisa"
  • 커밋 이름 확인
    • git config --global user.name
  • 이력 보기
    • git log
    • git reflog
  • 변경된 파일 Staging Area로 보내기
    • git add
  • .git 파일에 staging 파일 저장 (커밋) [Local Repository]
    • git commit
  • commit 파일 중 변경 사항 비교
    • git diff

 

 

🔗 참고 및 출처

https://docs.github.com/ko/get-started/getting-started-with-git/setting-your-username-in-git
https://moondol-ai.tistory.com/m/106
https://tecoble.techcourse.co.kr/post/2021-07-08-dot-git/
https://velog.io/@m2nja201/Git-Hub-%EC%99%95-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95-1-%EC%82%AC%EC%A0%84-%EC%A7%80%EC%8B%9D%ED%8E%B8
https://velog.io/@augus-xury/github-%EC%82%AC%EC%9A%A9%EB%B2%95-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC

반응형
반응형
# git config 확인
git config --list

# git config 설정
git config --global user.name "user-name"
git config --global user.email abcd@naver.com

# 잘못등록한 config 삭제
git config --unset --global user.name
git config --unset --global user.email

 

 

🔗 참고 및 출처

https://jonhyuk0922.tistory.com/233

반응형