Git
- 기본적으로 명령형으로 commit문 작성
- git에서 가장 중요한 부분은 원격저장소 코드
- 진리는 원격저장소에
I. Git
리누스 토발즈가 개발
(분산) 버전 관리 시스템 - 히스토리 기록을 통해 돌아갈 수 있다
git != github. git은 컴퓨터에 존재하는 프로그램이다.
작동원리
디렉토리 중심
어떤 폴더에서 git을 생성하느냐가 중요
- 로컬에서 파일, 폴더를 생성
- 생성된 파일을 commit 목록에 추가(git add “파일명”)
- 생성된 자료의 스냅샷을 로컬에 생성(git commit -m “메세지”)
- 생성된 git 로컬 리포지토리를 원격 저장소와 연결(git remote add origin “원격 저장소”)
- 연결된 원격 저장소에 commit된 자료를 저장(git push -u origin master)
Git 명령어
- git init: 이 폴더의 상태를 계속 관리하겠다
- git status: 상태를 확인
- git add 파일명: commit(저장, 스냅샷)할 목록에 추가. 변경 때 마다 추가해줘야 함
- git commit -m “메세지”: (로컬에)저장, 스냅샷을 찍는다
- git commit -am ‘message’ : 이미 생성한 파일의 add와 commit을 동시에
- git log: 스냅샷 목록
- git diff: 변경 사항 확인
- git config –global user.email “이메일”: git 계정과 연동
- git remote add origin “원격 저장소 주소”:저장할 원격 저장소 주소를 적용
- git remote set-url origin “원격 저장소 주소”: 저장할 원격 저장소 주소를 변경
- git remote -v : 원격 저장소 주소 확인
- git push -u origin master: 지정된 주소의 원격 저장소에 저장
- code . = 현재 위치에서 code 에디터 열기
II. 다른 사람과 협업
항상 원격저장소와 로컬의 상태를 동기화 해줘야 함
Issues
github의 게시판
- new issue로 발행
close issue : 해결된 문제, 이슈를 제거
- closed 탭에서 더 확인 가능
####Conflict
진실이 2개가 되는 상황
로컬에서 commit 후 다른 사항을 pull 할시에 발생
vscode의 기능
- accept current changes : 현재 로컬 내용을 적용
- accecpt incomming changes : 원격 내용을 적용
- accept both changes : 둘 다 적용
-
compare changes : 두 개를 비교하여 적용
- conflict 수정하는 commit은 message에 내용을 작성해줘야함
- 그래도 conflict는 내지 않는 것이 좋다
III. branch
git에서 다른 흐름(세계)를 만드는 것
기본, 가장 중요한 세계를 master라고 함
새로 만든 branch는 새로 만든 세계와 상관 없다
원본을 무결하게 만들기 위해 사용
각 기능 마다 branch를 만들어서 개발
branch 만들기
git branch 새로 만들 branch : 새로운 branch 생성
git branch : 지금 진행되고 있는 branch들 출력
git checkout branch : 해당 branch로 이동
branch 합병
인수 하는 곳에서 실행!!
git merge branch : branch 병합
병합할 때 수정 없이 변경사항 모두 바로 적용