GIT

git : Linux 커널 소스를 관리하기 위해 리누스 토발즈가 직접 개발한 분산형 버전관리 도구.
분산형이라는 의미는 여러 클라이언트들이 각자의 컴퓨터에 저장소를 반들어 중앙 서버의 전체 사본을 가지고 작업하는 것임.

SVN과 차이점

  1. SVN

    • 중앙 서버에서 소스코드와 히스토리를 관리함
  2. GIT

    • 소스를 여거 개발 PC와 저장소에 분산해서 저장
    • 로컬에서 버젼을 관리하기 때문에 SVN에 비해 빠름

GIT의 장점

  1. 같은 파일을 여러 명이 동시 작업하는 병렬 개발 가능
    (브랜치를 통해 개발한 뒤, merge 하는 방식으로 개발 진행 가능)
  2. 분산 관리이기 때문에 중앙저장소에 문제가 생겨도 원상복구 가능

Git 기본 용어

  • repository : 저장소를 의미함
    저장소를 통해 소스, 히스토리, 태그의 관리가 가능하며, 저장소를 통해 작업자가 변경한 소스의 히스토리 확인 가능
  • working tree : 저장소의 어느 한 시점을 바라보는 작업자의 현재 시점
  • staging area : 저장소에 커밋하기 전에 커밋을 준비하는 위치
  • commit : 현재 변경된 작업 상태에서 점검이 끝나면 확정하고 저장소에 저장하는 작업
  • head : 현재 작업중인 branch를 가리킴
  • branch : 가지 또는 분기점
    작업을 할 때 원본을 복사해서 branch에서 작업을 한 후 완전할 때 merge하여 작업함
  • merge : 다른 branch의 내용을 현재 branch로 가져와 병합하는 작업.

git 주요 명령어

ropository 생성

  • git init : 깃 저장소 초기화
  • git clone {url} : 원격 저장소 복사

상태 확인

  • git status : 작업 디렉토리에 변경된 파일 확인하기
  • git diff : 변경된 파일들의 변경된 내용 확인
  • git log : 변경 이력 보기

브랜치 작업

  • git branch : 로컬 브랜치 목록 확인

  • git branch -r : 원격 브랜치 목록 확인하기

  • git branch -av : 로컬과 원격 브랜치 목록 확인하기

  • git branch -m {old_name} {new_name} : 브랜치 이름 변경하기

  • git branch {new_branch_name} : 브랜치 생성

  • git checkout {branch_name} : 브랜치 변경하기

  • git branch -d {branch_name} : 브랜치 삭제

반영

  • git add . : 모든 변경사항을 커밋 준비 "스냅샷"
  • git add {file} : 특정 파일의 변경사항을 커밋 준비
  • git commit -m '{message}' : 메세지와 함께 커밋하기
  • git commit --ammend : 마지막 커밋 메세지 수정하기 (push한 commit에는 하지 말것)

취소

  • git reset --hard HEAD^ : 이전 commit 취소, 변경사항 폐기
  • git reset --soft HEAD^ : 이전 commit 취소, 변경사항 유지
  • git reset --soft merge : merge 취소하기
  • git reset --hard HEAD && git pull : 변경사항 폐기 후 원격 저장소의 최신 코드로 덮어쓰기
  • git revert {commit_code} : 커밋 되돌리기

동기화 하기

  • git fetch {remote} : 원격 저장소의 최신사항 가져오기
  • git pull {remote} {branch} : 원격 저장소의 최신사항을 가져와서 병합하기
  • git pull --rebase : 원격 저장소의 변경사항을 가져오고 초기화 하기
  • git push : 원격 저장소에 변경사항 발행하기
  • git merbe {branch} : 브랜치 병합하기
  • git rebase {branch} : 리베이스 하기

브랜치의 변경사항 임시저장

  • git stash : 임시로 변경사항 저장하기
  • git stash pop : 임시 변경사항 불러오기
  • git stash list : 임시 변경사항 보기

계정

  • git global user.name "user_name" : git 계정 name 저장/수정
  • git global user.email "user_email" : git 계정 email 저장/수정
728x90
반응형

참고 페이지의 간소화 버전이다. 아주 조금의 신경을 쓰면 명확하게 전달되는 커밋 메세지를 작성할 수 있다.

commit message 구조

  <타입>[적용 범위(선택 사항)]: <설명>

  [본문(선택 사항)]

  [꼬리말(선택 사항)]

1. 타입

  • commit 이 무엇애 대한 작업인지 키워드를 통해 인지
    • fix: - 버그 수정
    • feat: - 새로운 기능 추가, 기존 기능 변경
    • build: - 빌드 관련 수정
    • ci: - CI 관련 수정
    • docs: - 문서(주석) 수정
    • style: 코드 스타일, 포멧팅 수정
    • refactor: - 코드 리팩토링 (기능 수정 아님. )
    • test: - 테스트 코드 추가, 수정
    • chore: 기타 변경사항 수정 (.gitignore 등)

2. 설명

  • 커밋 메시지 제목
    • 제목은 50자를 넘기지 않고, 마침표를 붙이지 않기
    • 제목에 커밋 타입을 함께 작성
    • 과거 시제를 사용하지 않고 명령조로 작성
    • 제목과 본문은 한 줄 띄워 분리
    • 제목의 첫 글자는 반드시 대문자로
    • 이슈에 관련된 내용이라면 이슈 번호를 붙히기

3. 본문

  • 자세한 설명

4. 꼬릿말

  • 이슈 번호 등

참고 : https://www.conventionalcommits.org/ko/v1.0.0/#%ea%b0%9c%ec%9a%94

728x90
반응형

'VCS' 카테고리의 다른 글

[GIT]  (0) 2024.04.10
[GIT] 브랜치, 커밋 간 다른 파일 목록 조회  (0) 2022.04.05
[GIT] remote branch 가져오기  (0) 2022.04.05
[TortoiseSVN] Disconnect 방법  (0) 2021.09.10
[GIT] 윈도우에 Git 설치하기  (0) 2020.01.26

두 커밋 혹은 브랜치를 비교하여 서로 다른 파일의 목록을 출력

    git diff --name-status <commmit> <commit>
728x90
반응형

'VCS' 카테고리의 다른 글

[GIT]  (0) 2024.04.10
[VCS] 좋은 커밋 메세지 간단 작성법  (0) 2023.07.14
[GIT] remote branch 가져오기  (0) 2022.04.05
[TortoiseSVN] Disconnect 방법  (0) 2021.09.10
[GIT] 윈도우에 Git 설치하기  (0) 2020.01.26

로컬에서 원격의 브랜치를 찾을 수 있도록 갱신

    git remote update

브랜치 확인

    # 원격 저장소 확인
    git branch -r
    # 원격 + 로컬 저장소 확인
    git branch -a

원격 저장소의 브랜치 가져오기

    git checkout -t origin/브랜치명
728x90
반응형

'VCS' 카테고리의 다른 글

[GIT]  (0) 2024.04.10
[VCS] 좋은 커밋 메세지 간단 작성법  (0) 2023.07.14
[GIT] 브랜치, 커밋 간 다른 파일 목록 조회  (0) 2022.04.05
[TortoiseSVN] Disconnect 방법  (0) 2021.09.10
[GIT] 윈도우에 Git 설치하기  (0) 2020.01.26

SVN으로 버젼관리중인 소스를 이러저러한 이유로 git으로 로컬에서 버젼관리를 해야하는 상황이 되었다.

SVN에서 먼저 disconnect 해야 했는데 종종 필요한 작업일 것 같아서 기록한다.

Windows 10, TortoiseSVN 기준이다.

 

1. 파일 탐색기에서 해당 소스 경로로 이동한다.

2. 해당 소스 폴더를 우클릭한다.

3. TortoiseSVN -> Export를 선택한다.

4. Export 할 경로를 해당 소스의 경로와 동일하게 설정한다.

5. 경고창과 함께 Remove from version controll, Cancel 을 선택하게 나오는데 전자를 선택.

6. SVN을 통한 버젼관리가 삭제됨.

 

 

728x90
반응형

'VCS' 카테고리의 다른 글

[GIT]  (0) 2024.04.10
[VCS] 좋은 커밋 메세지 간단 작성법  (0) 2023.07.14
[GIT] 브랜치, 커밋 간 다른 파일 목록 조회  (0) 2022.04.05
[GIT] remote branch 가져오기  (0) 2022.04.05
[GIT] 윈도우에 Git 설치하기  (0) 2020.01.26

윈도우 버전 GIT 설치하기

  1. Git 설치 파일을 다운
    git download

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

  1. 설치 시작 NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. NEXT

  1. 설치 진행

  1. 설치 완료

  1. git에 사용자의 이름과 이메일 설정 후 설정 확인

    git config --global user.name '사용자 이름'
    git config --global user.email '이메일 주소'
    git config --list

     

  1. github에서 repository clone

  1. clone 한 repository open

  1. 간단한 수정 후 commit 시도

  1. github login

  1. 로그인 후 commit 성공

728x90
반응형

'VCS' 카테고리의 다른 글

[GIT]  (0) 2024.04.10
[VCS] 좋은 커밋 메세지 간단 작성법  (0) 2023.07.14
[GIT] 브랜치, 커밋 간 다른 파일 목록 조회  (0) 2022.04.05
[GIT] remote branch 가져오기  (0) 2022.04.05
[TortoiseSVN] Disconnect 방법  (0) 2021.09.10

+ Recent posts