즉,
여러 사람들이 협업하는 환경 내에서
파일, 폴더, 애플리케이션 등 모든 시스템 내에서 일어나는
변경 사항
(ex. 삭제, 추가 등)을 기록하는 시스템
>>> 비유를 하자면, 게임을 하기 위해 캐릭터를 생성하는 단계
git config --global user.name "이름"
git config --global user.email "이메일"
위는 사용자 (나)의 configuration을 세팅하는 방법이다.
- git config --global user.name "andy"
- git config --global user.name "andy@gmail.com"
>>> 비유를 하자면, 캐릭터를 생성할 게임 서버를 생성하는 단계
git init
그 이유는 initialize (v. 시작하다)를 줄인 명령어로 init
을 사용하여 Repository
를 생성하는 역할을 하기 때문이다
여기서 잠깐, 그럼 Repository는 뭔가요?
Local Repository
: local 단위에서 작업할 수 있도록 생성된 환경Remote Repository
: 주로 원격 서버에 생성되며 협업할 때 사용하는 환경
정리를 해보면
[ git init
은 혼자 혹은 여럿이 일을 하기위해 필요한 git의 저장 장소를 생성하는 명령어 ]
라고 생각하면 되고 명령문을 실행하면 아래와 비슷하게 출력될 것이다
Initialized empty Git Repository in /___/___/___/.git/
git init
: 현재 디렉토리 내 repository 생성git init 이름
: 현재 디렉토리 내 이름
폴더 생성>>> 비유를 하자면, 서버 환경이 어떤 상태인지 체크하는 단계
git status
>>> 비유를 하자면, 게임 캐릭터를 꾸미고 마지막 생성을 선택하기까지의 단계
git add
git commit
위에서도 말했지만 이 단계는 R&B 게임을 처음 시작할 때 캐릭터를 생성하기 위해 머리색깔, 얼굴형 등을 자유롭게 변경하고 1차적인 선택을 한 후에(Staging), 생성하기
버튼을 눌러 최종적으로 게임 캐릭터를 생성한다고 생각하면 된다.
Staging ---> Commit
git add 파일이름.확장자 파일이름.확장자 파일이름.확장자....
git add . // 모두 staging area로 이동
ex. git add index.html
git add
명령어로 실행해주고 다시 git status
명력어를 실행해주면 아래와 비슷한 화면을 볼 수 있을 것이다git commit -m "커밋 메세지"
"커밋 메세지"는 간략하게 지금 처리시킬 Commit에 대한 설명을 적어 놓는 것이라고 생각하면 된다
위 명령문을 실행하고 나면 아래와 비슷하게 보일 것이다
nothing to commit, working tree clean = 새롭게 commit 시킬 파일이 없음을 명시한다
커밋 메세지 변경하기
git commit --amend
을 누르면 text-editor가 나오는 데 여기서 새로 반영시킬 커밋 메세지를 적어주면 된다>>> 비유를 하자면, 게임에서 경험치, 아이템 습득 등 새로운 변화가 있을 때 그 기록을 볼 수 있다
git log
최근에 일어난 변경 사항들을 확인을 하기 위해 위 명령문을 실행하면
commit 5cb35131jb135jkn34jjb135kb135kb135kb (HEAD -> master)
Author : andy <andy@gmail.com>
date: Thu Jun 30 13:19:20 2022 -0700
create index.html
천천히 읽어보면
58f73e54199c7fcbf74f8806650bc72f3744653 라는 것이 (HEAD -> master) 단계로
Commit완료 되었다"실행시킨 사람 : 이름 (이메일)
이다"실행시킨 날짜는 : 날짜 날짜 날짜....
이다"commit시킨 행동 : create index.html
(커밋 메세지) 이다"정도로 이해할 수 있다
>>> 비유를 하자면, 공지나 단체 알림 등으로 시끄러워진 게임 채팅 창을 다시 깨끗하게 지운다
git checkout <commit-hash>
git check 58f73e54199c7fcbf74f8806650bc72f3744653
58f73e54199c7fcbf74f8806650bc72f3744653
은 위 git log를 통해 확인된 commit-hash
이다"당신은 '머리를 뺀' 상태입니다. 주위를 둘러보고 실험적인 변경을 하고 커밋을 해보세요. 이 상태에서는 어떤 커밋도 다른 나뭇가지에 영향을 주지 않고 실행가능 합니다.
새로운 나뭇가지를 생성하여 커밋을 유지하려면 -b 를 사용해서 checkout 커맨드를 다시 입력하면 된다
----예시----
머리는 이제 에 있고 커밋 메세지는 "add basic style"이다".
>>> 비유를 하자면, 공지나 단체 알림 등으로 시끄러워진 게임 채팅 창을 다시 깨끗하게 지운다
git clear
>>> 비유를 하자면, 공지나 단체 알림 등으로 시끄러워진 게임 채팅 창을 다시 깨끗하게 지운다
git을 사용하다 보면 branch라는 말을 들을텐데 이는
git branch
log
내용에서 잠깐 보았을 HEAD -> master
라는 말이 이 뜻이다master
는 모두가 활용하는 환경git branch <new-branch-name>
git checkout <branch-name>
git merge <branch-name>
git merge
를 사용하면 된다