10/26

오늘은 git의 기능관련 해서 배웠다.

 

 

 

# 리눅스 명령어 , git 명령어

pwd 
 -> 현재 디렉토리 출력

ls 
-> 현재 폴더의 파일 목록

ls -l
 -> 파일 목록 더 자세하게 보기

ls -A
 -> 숨긴 파일까지 보기

ls -a
 -> 현재폴더와 이전폴더를 보여주며 숨긴파일 까지 보기

ls -Al
 -> 숨긴파일까지 보고 자세하게 보기

ctrl+l
 -> 화면 정리

cd
 -> 폴더 변경

cd ..
 -> 상위 폴더로 이동

mkdir
 -> 폴더만들기

touch
 -> 새파일 만들기
(파일의 마지막 변경시간을 변경)

echo
 -> 콘솔에 출력

> 
-> 왼쪽의 출력을 오른쪽의 인풋으로 
기존에 있던것을 지운다.

cat (more, less)
 -> 파일 내용 보기

>>
 -> 왼쪽의 출력을 오른쪽에 인풋하고 기존에 있던 데이터에 추가로 입력

ctrl + c
 -> 실행 취소

cd -
 -> 이동전 폴더로 다시 이동

git init
 -> 현재폴더를 git이 관리하게 할 것이다
init 을 잘못했다면 그 해당 디렉토리에 가서 .git폴더를 지우자

git status
 -> 현재 리포의 상태보기

git add -A
 ->

git add
 -> 변경된 파일을 스테이지로

git commit
 -> 변경사항 생성

git log
 -> 변경사항 히스토리 보기

q 
-> 로그내용 보다 나가기 

git log --oneline 
-> 변경사항 한줄로 보기

git checkout 
-> 변경사항 옮기기

git log --all 
-> 모든 커밋보기

git log --all --oneline 
-> 모든 커밋 한줄보기

branch 
-> 커밋의 별칭

git branch <브랜치명> <커밋번호>
-> 커밋번호에 브랜치명 별칭을 생성

git branch -d <삭제할 브렌치명>
-> 별칭삭제

git switch <이동할 브렌치명>
-> checkout과 같은 브렌치 이동 명령어


git commit -m "커밋 메세지명"
-> 바로 커밋 하면서 커밋 명 넣기

git add -A 
->변경한 모든 파일을 올리겠다.

git add 
-> 변경사항을 stage에 올리기

git add .
-> 현재폴더와 하위폴더를 staged하기

git restore --staged <file이름>
-> staged된 것을 취소 시키는것

git restore <file이름>
->파일에 commit 된 것을 이전 commit 상태로 되돌리는것

.gitignore 
-> git이 track하지 못하게 할고 싶을때

git commit -am 
-> tracked파일 add,commit함께

git log --all --oneline --graph
-> 브랜치 를 그래프로 보여준다.

git merge <브렌치명>
->브렌치명의 변경사항을 현재 브렌치에 반영

git switch -c <브렌치 명>
-> 브렌치를 만들고 이동

 

# git 에 관하여 정리

  • git 은 저장할때마다 저장한것을 추적한다 (마치 게임처럼 중간중간 저장 하고 불러오듯)
    이것을 git 에선 commit이라고 한다.
  • commit 메세지는 자세하게 써야 나중에 기억하기 쉬워진다.
  • commit log에서는 누가 저장 했는지, 고유한 번호, 날짜 등이 보여진다.

  • git 에서 branch의 위치를 변경하려 하거든 clean한 상태여야 한다.

  • git의 마지막 실행한 위치를 기준으로 HEAD 각 위치해 있고 HEAD는 나의 위치를 나타낸다.

  • branch 명을 지우고 싶을때에는 HEAD의 위치가 해당 branch가 아닌 다른 branch에 있어야 지울 수 있다.
  • 다른 commit의 위치로 이동하여 작업을 하고 싶을 때에는 해당 commit에 이동전 branch명을 부여하고
    해당 branch이름으로 이동하자 코드넘버로 이동하지 말자!!
    (코드로 입력하여 이동하면 detached HEAD 상태가 되어 원치않는 상황이 발생할 수도 있다.)
  • commit 하기 전 add 하는 것이 있는데 이것은 잘못된 commit 을 하여 tracked 상태가 되는 것을 방지
    하고자 stage위치에 대기시켜놓는 명령어이다 (add 했을때에 tracked 상태이지만 stage 상태이기
    때문에 Untracted 상태로 변경이 가능하다.)
  • commit 은 stage상태의 명령만 commit 가능하다

※ git 은 Untracked 상태와 Tracked 상태로 구분하고 Tracked 상태도 3가지로 구분된다

  • 이미 tracked 한 파일은 .ignore에 추가 해도 계속 tracked상태를 유지한다
  • 계속 untracked한 상태를 유지하고 싶다면 생성 단계에서부터 .ignore처리를 해줘야 한다.
    해당 파일을 지워도 commit 내역이 남아있기 때문에 조회가 가능하기 때문이다.
  • commit 의 속성에는 부모( parents )속성이 있는데 이것은 바로 이전 commit의 코드번호를 가리킨다.
  • 단 최초의 commit에는 부모 속성이 없다.
  • branch는 commit 의 히스토리 방향을 가리 키고 있다
  • HEAD 가 위치해 있는곳에서 branch 를 생성하려 할 때에는 해당 commit의 코드번호 없이
    branch 지정이 가능하다.
  • branch 는 여러개를 생성 할 수 있는데 제일 주가 되고 정상으로 작동하는branch를 master,main으로 
    정하여 사용하는것을 권장한다.(해당 branch를 통합브렌치라고 부른다.)
  • fast forward(머지) : 머지를 하면 앞서간 것을 따라 합치기 때문에 fast forward머지 라고 한다.
  • merge를 완료한 후에는 필요가 없어진 branch를 제거해줘서 마무리해주자.
  • 서로 달라진 branch를 merge하려면 master branch의 제일 마지막 위치에서 master branch에 
    merge할 branch를 합치면 된다.
    (서로 다른 branch를 머지 한 commit자기 자신과 2개의 부모commit이 묶여 있어 3 way merge
    라고 부른다.)

 

 

 

 

 

 

 

 

 

 

+ Recent posts