• Git Bash는 윈도우 환경에서도 Linux & Unix 계열의 명령어를 통해 Git을 제어할 수 있도록 한다.
  • 사용할 수 있는 명령어 조회
  • 현재 위치 조회
  • 루트 디렉토리로 이동
  • 해당 디렉토리로 이동
  • 창 비우기
  • 현재 위치의 파일 목록 조회
  • 현재 위치에 폴더 생성
$ git

$ pwd

$ cd /c

$ cd 폴더명

$ clear

$ ls
$ ls -al

$ mkdir 폴더명
  • 현재 디렉토리를 git으로 저장소로 만든다(현재 디렉토리를 버전 관리한다), 생성된 .git 디렉토리는 버전관리에 관한 정보가 담긴다.
  • git 폴더 상태를 조회한다. 여기서 Untracked files: 아래는 버전관리가 되고 있지 않음을 나타낸다. 새로 추가한 파일이기 때문이므로 git 에게 버전 관리 대상임을 알려준다. 수정했을 때도 add를 해주고 commit 해야 한다. 만약 선택적으로 특정 파일만 commit을 원한다면 해당 파일만 add 한다
  • 버전을 만든 사람에 대한 정보 설정. 한 번만 설정한다. ~/.gitconfig 파일에 저장된다.
  • vim 에디터가 실행되며 버전 메시지(커밋 메시지)를 작성하고 commit 한다
  • 버전 메시지, 작성자 정보를 조회한다
  • 모든 commit 사이의 소스 차이와 메시지 로그를 조회한다
  • 해당 버전 이전의 소스차이와 커밋 메시지를 조회한다
  • 버전 간의 차이를 조회한다
  • git add하기 전과 add한 후의 파일 내용을 비교
  • 해당 버전id를 최신 상태로 만든다. 원격저장소에 올린 이후에는 reset를 하면 안 된다. 즉 reset은 공유하기 전에 로컬저장소에서만 해야한다.
  • 해당 버전id을 취소하고 새로운 버전을 생성한다.
$ git init

$ git status
$ git add f1.txt

$ git config --global user.name 이름 
$ git config --global user.email 이메일주소

$ git commit
$ git commit -m '커밋 메시지'

$ git log

$ git log -p

$ git log 커밋리비전

$ git diff 버전id..버전id2

$ git diff

$ git reset --hard 버전id

$ git revert 버전id
  • 현재 로컬 저장소에 원격 저장소를 연결시키고 원격 저장소의 주소는 origin이라고 부른다
  • 연결된 원격저장소 조회 및 상세조회. 여러개의 원격 저장소를 로컬 저장소로 저장할 수 있다. 메인이되는, 주로 동기화하는 원격 저장소를 관습적으로 origin이라고 한다.
  • 연결된 원격저장소 삭제
  • 로컬저장소에서 작업한걸 원격 저장소로 보내는 것을 push 라고 한다. 현재 체크아웃되어있는 로컬저장소 마스터 프렌치를 원격저장소인 오리진 마스터 브렌치로 동기화시킨다. -u : 현재의 로컬 저장소 마스터 브렌치와 원격 저장소의 마스터 브렌치를 연결시킬 때 한 번만 사용한다. 이후부터는 git push만 해도 된다.
$ git remote add origin 원격저장소주소

$ git remote
$ git remote -v

$ git remote remove 원격저장소이름

$ git push -u origin master
  • vim 에디터로 파일을 생성한다. 생성 후 입력모드가 아니기 때문에 아무 문자도 들어가지 않는다. 입력모드로 들어가려면 알파벳 i를 누르고, 명령어 모드로 들어가려면 ESC를 누른다. 입력모드로 글을 작성 후 명령어 모드에서 저장하려면 :wq(작성 및 저장) 명령어를 입력한다
  • 파일 내용을 조회
$ vim f1.txt

$ cat f1.txt

예전의 버전관리 시스템은 변경된 사항이 여러 개라면 한 번에 commit을 해야했으나 git은 add라는 절차를 거치기 때문에 작업한 내용 중에서 commit을 할 것들만 선택적으로 커밋을 할 수 있다.

add는 커밋 대기 상태에 들어간다고 생각하면 된다.

즉, commit 명령을 실행하면 commit 대기 상태에 있는 파일들만 그 버전에 포함시킨다는 의미

stage : commit 대기를 하는 곳

repository : commit 결과를 저장하는 곳