쌓고 쌓다

[Linux] git 본문

프로그래밍/리눅스

[Linux] git

승민아 2022. 5. 17. 20:03

원격 저장소(Remoted Repository) : 다수가 공유하고 있는 저장소

로컬 저장소(Local Repository) : 개인만 사용하는 저장소

 

Git 설치

  • sudo apt-get install git : 패키지 리스트를 업데이트
  • sudo apt install git : 깃 설치

 

사용자 설정(깃에 push 했을 때 올라갈 내 정보)

  • git config --global user.name NAME : 사용자 이름 설정
  • git config --global user.email NAME@naver.com : 사용자 이메일 설정
  • git config --global color.ui auto : 터미널 색상 출력
  • git config --list : 설정 확인

SSH key 생성 및 확인

  • ssh-keygen -t rsa -C NAME@naver.com : 자신의 이메일로 생성
  • cat ~/.ssh/id_rsa.pub : 자신의 공개키를 출력 ( 이것을 GitHub에 알려주자 )

cat ~/.ssh/id_rsa.pub 의 출력 결과물을 GitHub의 Setting에서 등록

 

 

GitHub의 SSH로 Repository를 가져오자.

 

이것을 복사해 아래의 명령어에 사용

Remote -> Local Repository

  • git clone git@github.com:NAME/testtestRepository.git
  • cd testtestRepository : 해당 Repository가 생성됨

 

로컬 저장소 상태 확인 방법 ( 스토리지 상태 확인 )

  • git status

 

Git 상태

1. untracked

: 이 파일은 한번도 commit 되지 않았고, Git에 의해 관리가 안되고 있다.

(방금 추가한 파일이거나 쓸모없는 파일)

 

아래의 3가지는 Tracked File로 Git이 관리해주는 파일을 세분화한 것이다.

2. unmodified

: 파일을 add하여 commit한 이후 수정되지 않은 상태 (= 파일이 최근에 저장한 상태 그대로이다. )

 

3. modified

: 위의 상태에서 변경사항이 발생한 상태 (= 이 파일은 변경되었고 변경되었다고 기록해야 함 )

 

4. staged

: git add한 상태 (git에 의해 관리되고 있음)

 

  • untracked -> add the file -> staged
  • unmodified -> edit the file -> modified
  • unmodified -> removed the file -> untracked
  • modified -> stage the file -> staged
  • staged -> commit -> modified

 

Local Repository의 상태

  • Working Diredctory : 저장소에 신규 파일 또는 업데이트 파일들이 있는 디렉토리
  • Staging Area : 로컬 저장소에 저장하기 위한 임시 공간
  • working directory -> stage fixed -> staging area
  • staging area -> commit -> repository
  • repository -> checkout the project -> working directory

 

Working dir -> Staging area

: 신규 파일 또는 수정한 파일을 staging area로 이동

  • git add filename
  • git add --all
  • git add .
  • git status 를 쓰면 파일이 new file: main.c로 이동한 것이 확인 가능

 

Staging area -> Working dir

: staging area의 파일을 다시 working dir로 이동

  • git rm --cache [fileName]
  • 사용 시 untracked file로 이동함

 

Staging area -> Local storage

: staging area의 변경 내용을 로컬 저장소에 저장

  • git commit -m "commit message"

 

commit 확인 방법 ( 로컬 저장소에 저장된 commit 로그 확인 )

  • git log

 

working dir -> staging area -> local stroage

레포지토리를 만들면 README.md 파일이 있을 것인데

이것을 수정하고 git status로 상태를 보면 modified로 README.md가 있을 것이다.

git add . 로 수정한 파일을 staging area로 이동하고

staging area의 변경 내용을 로컬 저장소에 저장하기 위해

git commit -m "commit message"를 입력한다.

 

local -> remote repository

: 로컬 저장소의 변경 내용을 원격 저장소로 전송

  • git push origin main

 

Commit 수정

  • 직전의 commit message를 수정
  • 누락된 파일을 새로 추가하거나 기존의 commit된 파일(직전의 commit에 한함)을 수정

최근에 git add . 로 README.md 파일을 AAAAAA 커밋 메시지로 올렸다.

여기에 git add printf.c 를 입력하고

git commit --amend -m "insert printf.c"를 입력하여 

README.md와 printf.c를 insert printf.c 커밋 메시지로 다시 커밋한다.

 

  • git add printf.c
  • git commit --amend -m "insert printf.c"

'프로그래밍 > 리눅스' 카테고리의 다른 글

uftrace로 .py(파이썬 소스파일) 실행  (0) 2022.06.18
[Linux] uftrace  (0) 2022.05.23
[Linux] shell script 2  (0) 2022.05.09
[Linux] shell script 1  (0) 2022.05.09
[Linux] diff, vimdiff, wc  (0) 2022.04.06
Comments