버전 만들기
GIT에게 버전관리 시작해! 라고 명령하기
git init[파일]
- 버전관리 하고 싶은 폴더에서 초기화를 함으로써 버전관리 준비
중요!!
GIT 상태 보기
git status
- GIT한테 "야! 지금 니 상태 어때" 이라고 물어보는거
- 즉, Working Tree 의 상태를 보여준다
파일 추가
git add [파일]
- 파일 (Working Tree의 수정사항) 이젠 버전으로 만들거니깐, Staging Area 에 올려라, 라고 명령하는 명령어
add 하기 전
add 한 후
버전 만들기
git commit -m "내용"
- GIT에게 " 버전 만들어! " 라고 명령
- add를 한 후의 파일(Staging Area 에 있는) 을 Repository(만들어진 버전) 에 보냄
- git commit 해서 직접 내용을 적는것도 좋지만 -m "내용" 을 해서 직접 하는게 대부분 편함
- 커맨드 라인에서 직접 commit 메세지를 적을때 쓰는것
버전 보기
git log
git log -p
- **이게 뭐냐면 .. 밑에 있는 git diff 가 그 버전의 차이점을 보여주는거라면 이 명령어
는각각의 버전의 차이점을 보여준다
버전과의 차이점 비교하는법
git diff
- 수정 전 버전과 수정 후 의 차이점을 한 눈에 볼 수 있게 해주는 멋진 명령어!
차이점이 한 눈에 보임!
작업한 내용 되돌리기
git reset --hard
- 버전관리를 하지않는 상태에서 맘에 들지않는걸 과거로 돌리는건 매우 어려움 , 하지만 저 명령어를 사용하면 한번에 그 전에 작업한 내용으로 돌아감
버전 만들기 정리
1. mkdir [디렉토리 이름]
2. git init[파일]
3. nano [파일]
4. git add [파일]
5. git commit -m "내용"
여러개의 파일을 버전으로 만들기
지금 시점에서 파일 하나 만들기
nano [파일] - Working Tree
git add [파일] - Staging Area
git commit - Repository
하지만 파일 2개를 한번에 버전으로 만든다면?
1. nano [파일1],nano [파일2]
2.git add [파일1] ,[파일2]
3.git commit
그다지 별거 없음 근데, 여기서 알아가야할 명령어가 하나 있음
어떤 버전이 여러 파일로 커밋 된거지?
= git status --stat
- 이 명령어로 쉽게 각각의 버전에 어떤 파일이 연류 됬는지 볼 수 있다
Working Tree에 있는 파일 모두를 Staging Area로 이동시키기
git add .
- 지금까지 파일 하나하나를 Staging Area로 이동시킬때 하나하나 add 시켰다면
add 다음 . 을 넣으면 Working Tree 에 있는 모든 파일을 한번에 Staging Area로 이동시킬 수 있다
add 와 commit 동시에 하기
git commit -am " "
- untracked 상태에서 git commit -am 를 하면
버전 삭제하기
git reset --hard
-
여기서 중요한건 "내가 [버전 3] 를 지우고 [버전 2] 가 되겠다 하고싶다." 라 하면 나는 버전 2로 reset 해야 함 근데 이 말의 의미는 [버전 2]를 삭제하는게 아닌 [버전 2] 가 되겠다 라는 소리임
-
간단하게 말하자면 "이 버전을 reset 할래!"하겠다는 소리는 "이 버전으로 reset할래!" 라는소리와 똑같다 여기서 " ~으로 라는 표현이 매우 중요함 "
버전 삭제하기 2
git reset --soft
- 위에 git reset --hard가 수정한것 까지 모두 지우는 가장 강력한 명령어 라고 하면,
git reset --soft는 수정한건 남겨두는 부드러운 명령어
절대 경로
cd /[디렉토리명]
- 가고싶은 디렉토리로 정확하게 갈수있음 ex) 내가 만약 /home/hyundong/file 이라는 곳에 있다고 하면 cd /home/hyundong 이라고 치면 친곳으로 그냥 이동시켜줌
알아야 할 것들
버전관리의 핵심
비교를 통해서 차이점을 볼 수 있고 과거를 되돌아볼 수 있는거
차이점을 매우 정교하게 볼 수 있음
branch
내 저장소를 다양한 상태로 공존할 수 있게 해줌
예시를 들어보자면 내가 한 문서를 만들었는데 그 문서로 시각장애인용,남성용,여성용,노인용 이런식 으로 각각 써야 한다고 하자 그럴때 쓰는게 브랜치 라는 도구임, 한 문서로 다양하게 써나갈 수 있음