git init버전 관리를 위해 내 정보를 등록해야 함
git config --global user.email "github 가입 이메일"
git config --global user.name "github 가입 username"
그 다음
git add
git commit -m "커밋 메시지"
git push
개발을 하다가 이전 커밋부터 다시 개발하고 싶다면 이전 커밋으로 돌아가면 된다.
git log위의 명령어를 통해 지금까지 만든 커밋과 돌아갈 커밋 id를 확인하고
git checkout 커밋id위 명령어를 사용하면 원하는 커밋으로 돌아갈 수 있음
원격저장소에 올리고 싶은 작업물이 있는 폴더로 이동한 뒤,
git remote add origin 내 원격저장소 주소명령어를 통해 내 로컬저장소에 원격저장소 주소를 알려주기
위의 명령어를 수행한 후에는 아래처럼 원격저장소에 push하면 됨
git add git commit -m "~~~" git push origin master
원격저장소의 코드와 버전 전체를 내 컴퓨터로 내려받는 것을 클론(clone)이라고 한다. 클론을 하면 최신 버전뿐만 아니라 이전 버전들과 원격저장소 주소 등이 내 로컬저장소에 저장된다.
git clone 명령어 뒤에 원격저장소 주소를 적고, 한 칸 띄고 마침표를 찍어준다. 마침표는 현재 폴더에 받으라는 뜻이다. 점을 찍지 않으면 현재 폴더 안에 [iTshirt] 폴더가 생긴다.
git clone https://GitHub.com/Cat-Hanbit/iTshirt.git .
git pull origin master
- 현업에서도 CLI 형태로 조작하기 힘든 경우에는 GUI 프로그램을 많이 사용
- 본인 개발에 편한 것으로 많이 선택
- 보통 여러 사람이 같이 repository를 사용하게 되면, cherry-pick 해서 다른 사람의 브랜치 내용 일부를 가져와야 한다던지 다양한 문제를 겪을 수 있는데, 이를 CLI로 하면 불편함이 많아서 GUI 프로그램을 쓰는 게 더 편리하고 일도 금방 끝남
로컬저장소 목록(Local)
- 컴퓨터에 저장되어 있는 Git 로컬저장소 목록을 보여준다.
- Git으로 관리되는 모든 저장소가 자동으로 표시되는 것은 아니며, Add 탭에서 소스트리에 추가할 수 있다.
원격저장소 목록(Remote)
- 원격저장소 계정에 연결되어 있는 모든 원격저장소를 볼 수 있다.
- GitHub 계정을 추가하면, GitHub에서 등록한 원격저장소 목록이 뜬다.
원격저장소 클론(clone)
- 원격 서버에 올라와 있는 Git 저장소를 내 로컬 컴퓨터에 다운로드 및 연동할 수 있다.
로컬저장소 추가(Add)
- 내 컴퓨터에 만들어져 있는 로컬저장소를 소스트리에서 관리할 수 있도록 추가한다.
로컬저장소 생성(Create)
- 내 컴퓨터에 있는 일반 폴더를 Git으로 버전 관리할 수 있도록 로컬 저장소를 생성한다. 모든 폴더는 자동으로 Git으로 버전 관리되는 게 아니고 이렇게 해당 폴더 내에 로컬저장소를 생성해야 그때부터 버전관리를 할 수 있다.
새 탭(+)
- 새로운 탭을 열어 다른 저장소를 관리할 수 있다.
로컬에서 파일을 만들고 수정한 뒤 소스트리
- 아까와 달리 그래프 최상단에 '커밋하지 않은 변경사항'이 생김
- 이 텍스트를 선택하면 소스트리 하단의 [스테이지에 올라가지 않은 파일]에 방금 만든 파일이 보이는 걸 확인할 수 있다.
add
- +버튼을 누르면 add가 됨
- +버튼을 누르면(add를 하면) 파일이 [스테이지에 올라간 파일]로 올라간다.
commit
- 아래쪽에 커밋 메시지를 작성하고 커밋 버튼 누르기
push
- 최신 커밋에는 main 꼬리표가, 하나 이전 버전에는 [origin/main]이라는 꼬리표가 붙어있다. 이는 내 컴퓨터의 로컬저장소의 버전은 최신인데 원격저장소의 버전은 하나 이전의 버전인 상태라는 뜻이다.
- 정리하자면 아무것도 붙지 않은 [master]는 내 컴퓨터 로컬저장소의 버전을, 앞에 origin이 붙은 [origin/master]는 GitHub 원격저장소의 버전을 가리키는 것이다.
- 소스트리 상단의 Push 버튼을 클릭하고, Push 하면 된다.
- 이 명령은 현재 줄기인 main의 모든 새로운 커밋을 원격저장소에 올리겠다는 뜻이다.(git push origin main과 동일)