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
라고 부른다.)
'중앙정보처리학원 - 수강일지' 카테고리의 다른 글
#중앙정보처리학원-62일차- (0) | 2023.10.30 |
---|---|
#중앙정보처리학원-61일차- (0) | 2023.10.27 |
#중앙정보처리학원-59일차- (0) | 2023.10.25 |
#중앙정보처리학원-58일차- (0) | 2023.10.25 |
#중앙정보처리학원-57일차- (0) | 2023.10.23 |