Hello Spicy Horo

git memo

Word count: 414Reading time: 2 min
2019/10/19 Share

git의 관리받는 저장소만들기


1
git init

저장소 받아오기


로결저장소 복제

1
git clone /로컬/저장소/경로

원격 서버의 저장소를 복제

1
git clone 사용자명@호스트:/원격/저장소/경로

git 의 구성


-작업디렉토리
-인덱스(stage)
-HEAD


관련 설명


작업디렉토리는 실제 파일들로 이루어져있으며
안에 변경사항이 일어날경우 git이 인지
내가 변경사항이 있는 것들을 add를 통해 추가
또는 기존에서 추가하는파일들이있어도 역시 add로 추가한다
그리고 stage에 있는 애들은 commit명령어로 HEAD로 최종확정본을 나타낸다
다음은 서버로 올려야한다


현재상태확인


1
git status

파일추가 및 확정.


1
2
3
git add<파일 이름>
git add *
git commit -m "이번 확정본에 대한 설명"

변경 내용 발행하기


현재의 변경 내용은 아직 로컬 저장소의 HEAD안에 머물고 있다
원격 서버로 올려보자

1
git push origin master (다른 가지를 발행하려면 master 대신 가지이름을 적는다)


서버주소 입력해주자

만약 기존에 있던 원격 저장소를 복제한것이 아니라면
원격 서버의 주소를 git에게 알려줘야 해요

1
git remote add origin <원격 서버 주소>

이제 변경 내용을 원격 서버로 발행가능


가지 (branch)


가지는 안전하게 격리된 상태에서 무언가를 만들떄 사용합니다
branch로 가지로 나와서 나중에 완성되면 merge로 master(혹은 현재잡혀있는 위치)와 병합합니다

1
2
3
4
5
6
7
git checkout -b feature_x (feature_x라는 가지생성)

git checkout master(마스터 가지로 돌아옴)

git branch -d feature_x (가지삭제)

git push origin <가지이름> (서버로 보낼떄까지는 다른사람 접근 불가)

갱신과 병합


나의 로컬 저장소를 원격 저장소에 맞춰 갱신하려면 (원격 저장소의 변경 내용이 로컬 작업 디렉토리에 받아지고 병합됨)

1
git pull

다른 가지에 있는 변경 내용을 현재 가지에 병합하려면 현재 위치에서

1
git merge <가지 이름>

만약 충돌일어나면?


위에 둘다 병합시도를 하는데 충돌이 일어나면 git에서 알려주는 파일을 직접 수정후 파일을 병합하라고 알려주셈

1
git  add<파일 이름>

변경내용을 병합하기전에, 어떻게 내용차이가 나는지알수있음

1
git diff <원래 가지> <비교대상가지>

로컬 변경 내용 되돌리기


위 명령은 로컬의 변경 내용을 변경 전 상태(HEAD)로 되돌려줘요

1
git checkout -- <파일 이름>

다만 이미 인덱스에 추가된 변경 내용과 새로 생성한 파일은 그대로 남는다


로컬 포기


만약, 로컬에 있는 모든 변경 내용과 확정본을 포기하려면,
아래 명령으로 원격 저장소의 최신 이력을 가져오고,
로컬 master 가지가 저 이력을 가리키도록 할수 있어요/

1
2
git fetch origin
git reset --hard origin/master

git add한 걸 취소하고싶을떄

1
git reset HEAD[file]   #파일명이없다면 add한 파일 전체 취소한다

그외 기능들


git의 내장 GUI

gitk

콘솔에서 git output을 컬러로 출력하기

git config color.ui true

이력(log)에서 확정본 1개를 딱 한 줄로만 표시하기

git config format.pretty oneline

파일을 추가할 때 대화식으로 추가하기

git add -i


어떤상황에서 나가는 방법


:q!


파일 내용을 보고싶을때


1
vi <파일이름>

i를 누르면 edit mode
다 수정후 :wq 로 나간다 (저장후 끄기)

CATALOG
  1. 1. git의 관리받는 저장소만들기
  2. 2. 저장소 받아오기
    1. 2.1. 로결저장소 복제
    2. 2.2. 원격 서버의 저장소를 복제
  3. 3. git 의 구성
    1. 3.1. 관련 설명
  4. 4. 현재상태확인
  5. 5. 파일추가 및 확정.
  6. 6. 변경 내용 발행하기
    1. 6.1. 서버주소 입력해주자
  7. 7. 가지 (branch)
  8. 8. 갱신과 병합
    1. 8.0.1. 만약 충돌일어나면?
  • 9. 로컬 변경 내용 되돌리기
  • 10. 로컬 포기
    1. 10.1. git add한 걸 취소하고싶을떄
  • 11. 그외 기능들
    1. 11.1. git의 내장 GUI
    2. 11.2. 콘솔에서 git output을 컬러로 출력하기
    3. 11.3. 이력(log)에서 확정본 1개를 딱 한 줄로만 표시하기
    4. 11.4. 파일을 추가할 때 대화식으로 추가하기
  • 12. 어떤상황에서 나가는 방법
  • 13. 파일 내용을 보고싶을때