# 깃 공부
# git init: 빈저장소를 만들다!
정상메세지
Initialized empty Git repository in /Users/dangmon/Documents/git-practice/.git/
# git add -A: 현재있는 파일을 만들겠다는 의미!# git status로 현황을 확인할 수 있음
- Untracked files라고 나오며 파일명이 빨간색으로보인다면 정상출력이아니라 그냥 파일들이 만들어져만 있는 상태이다 라는 의미 // 추가x 만들어져있는 파일이 보임O
- 초록? 밝은 글씨체로 charges to be commited이라고 나오면 묻을 것들 이라는 의미로 준비됬다는 의미!
# git commit: 만들어 놓은 파일들을 등록!하는 절차# git commit -m “메모” // -m “~” 이는 커밋에대한 메세지를 담는 역할# git status: git을 할(등록할) 파일이 존재하는지 아닌지 삭제 변경의 현황을 알려준다.
// status는 신분의 라는 의미
# git status로 현황을 확인할 수 있음
- Untracked files라고 나오며 파일명이 빨간색으로보인다면 정상출력이아니라 그냥 파일들이 만들어져만 있는 상태이다 라는 의미 // 추가x 만들어져있는 파일이 보임O
- 초록? 밝은 글씨체로 charges to be commited이라고 나오면 묻을 것들 이라는 의미로 준비됬다는 의미!
# git log : 캡슐의 정보도와 로그들이 확인된다.
- git log라고 입력하면된다. //commit한 일련번호와 업데이트 세부사항이 나온다.
정상 메세지:
commit f799f2495a76df6c5e874dddab68e5673bfa5ca7(일련번호)
Author: Quokkaaa rktrkdml@gmail.com
Date: Mon Oct 4 22:47:13 2021 +0900
# 터미널 사용중에 메세지창에 입력이 안된다면 Vi에디터라는게 작동중인거라서 (:+q) 콜론q를 입력하면 됩니다.
# git reset : 과거로 돌아가기 1(파괴적인방법)
- git log 를 입력하면 나오는 commit: 일련번호중에 돌아가고싶은 로그 영역의 일련번호 앞 6자리를 복사한다
- git reset f799f2 --hard 이렇게 입력을 해준다. //다시 미래시점으로 가지못함
정상 메세지: HEAD is now at f799f24 ADD dog
# git revert : 과거로 돌아가기 2 (소심한방법)
- git log 를 입력하면 나오는 commit: 일련번호중에 돌아가고싶은 로그 영역의 일련번호 앞 6자리를 복사한다. // 처음으로 돌아가고싶으면 가장 맨위에있는 일련번호 6자릴 선택하면됨
- 그러면 새 커밋 메세지를 작성하는 화면이 나온다
Revert “ADD dog”
This reverts commit f799f2495a76df6c5e874dddab68e5673bfa5ca7.
Please enter the commit message for your changes. Lines starting
with ‘#’ will be ignored, and an empty message aborts the commit.
On branch master
Changes to be committed:
deleted: dog
~
~
~
"~/Documents/git-practice/.git/COMMIT_EDITMSG" 11L, 284B
- 그대로 저장하겠다는 vi 명령어, :wq를 입력해준다
정상메세지:
Removing dog
[master a13c192] Revert "ADD dog"
1 file changed, 1 deletion(-)
delete mode 100644 dog
# git branch: 분기하기 - Branch(사전 뜻은 ‘가지’라는 의미)
회사에서 저장되고있는 파일들이있는데 새로운 시도를 해보고 싶다는생각이든다.
하지만 회사에 파일들을 함부로 변경할 수 없지… 그러니 Branch(분리)를 이용하자!
=> 값을 그대로 새로운 파일?에 복사하여 사용하는것
- git branch my-idea // git + branch + 파일명 입력
- git branch 입력
정상메세지
- master
my-idea
- git checkout my-idea 입력
정상메세지
Switched to branch ‘my-idea’ - git add -A 입력
- git commit -m “ADD dino” 메모입력
정상메세지
[my-idea 4523c4c] ADD dino
1 file changed, 1 insertion(+)
create mode 100644 dinosaur
# git checkout master : branch 사용 이전으로 돌아가기!!!
- 위 그대로 git checkout master 를 입력하면 원래 파일대로 돌아갈 수 있다.
정상메세지
Switched to branch ‘master’
# git merge my-another-idea : git+ merge+ 덮고자하는파일명 // merge는 합병하다 라는 뜻
branch를 이용한 새로운 파일에서 구현한것이 마음에들어 master(원본)에 적용 하자는 의견이 나왔다!!
- git checkout master 입력
- git merge my-another-idea
정상메세지
Updating a13c192…4523c4c
Fast-forward
dinosaur | 1 +
1 file changed, 1 insertion(+)
create mode 100644 dinosaur
# git log —graph —all —decorate: 두개의 작업을 시각화한 작업내역를 확인할 수 있다.
# 같은 브랜치를 사용하는것을 지양하는것이 좋다.
서로를 참조하 갈등이생겨 오류가 난다.