git 입문
소스트리 사용해 보기
스테이지에 파일들을 올려야(add) 그 파일들을 커밋 할 수 있다.
커밋(commit)이란 게임에서의 세이브와 비슷. (커밋을 만들면 언제든지 돌아갈 수 있다.)
커밋을 하려면 저장을 원하는 파일들을 묶어서 수행.
(내 컴퓨터에 저장하면 위험가능성 있기 때문에 깃허브에 업로드) push 누르면 깃허브에 업로드 된다.
git 회원가입은 이미 되어있었고
소스트리를 다운로드 받았다.
근데 내가 지금 배우고 있는 영상이랑 내 맥북에 있는 버전이랑 달라서 뭔가 많이 달라서 어려워졌다..
원본 url 에는 내 깃허브의 주소를 입력해주었고
목적지 경로는 자동으로 생성되었는데 /user/folder/git 이런식으로 생성이 되었다.
문제는 /user/folder/git 위치가 어디있는지 모르겠다는 것이었다.
이거는 option 키를 누른 후에 상단에 있는 이동 (go) 를 눌렀더니 안보이던 라이브러리 폴더가 생겼다. 그 라이브러리 폴더로 들어가서 /user 이라고 검색했더니 사용자 폴더와 함께 나의 Git 파일이 보였다. (ㅠㅠ)
캡쳐를 잘 못했지만, 옵션키 누르면 여기 홈 아래에 라이브러리가 뜬다.
아무튼 거기서 이제 실험용으로 진행할 파일을 넣어야 하는데, 맥북에서는 빈 메모장 만드는것도 쉽지가 않아서...ㅎ ㅎ
내 기존노트북에서 파일을 하나 생성해서 메일로 전송받아서 그 폴더에 저장을 했다. ( 다른 방법도 많은 것 같은데 그거까지 내가 지금 공부할 시간이 안되어서 일단은 이렇게 했다.)
그랬더니 소스코드에 내 파일이 새롭게. 추가가 되었고, 메인 브랜치에서 커밋 해준 후, push를 해주었더니 깃에 올라가게 되었다!
하.... 너무 어렵다.
변경사항 취소하기
파일을 커밋하고 난 이후에는
다시 커밋 하기 전까지는 코드 뭉치 버리기를 하면 다시 커밋한 상태로 돌아온다!
브랜치의 개념
커밋을 많이 했는데 이제껏 해온게 필요없어지고 몇단계 이전으로 돌아가서 새로 만들고 싶어질때.
돌아가고 싶은 곳에서 우클릭 후 브랜치 새브랜치 생성.
(일단 되돌아가고 새로 다시 시작) =. check out 이라고 하는데, 소스트리에서는 더블클릭으로 해결
즉. 브랜치란 기존 내용을 유지한 채 새로운 내용을 추가하고 싶을 때 사용한다.
체크아웃이란 특정 브랜치로 돌아가고 싶을 때 사용.
소스트리의 체크아웃: 브랜치 이름을 더블 클릭 하는 것만으로 체크아웃 가능.
main 브랜치와 ver2 브랜치가 각각 생성이 되었는데, 이 두개가 각각 파일이 다른것을 확인 할 수 있다.
병합 (Merge) 살펴보기
병합이란 하나의 브랜치를 현재 브랜치와 합치는 것을 말한다. 위에서 main 브랜치와 ver2 브랜치를 합치는 것.
근데 똑같은 파일을 병합할때는 충돌이 일어날 수 있다 >> 수동으로 해결해주어야 한다.
main 브랜치에서 병합을 눌러준 후, 푸시까지 해주면 성공한다. ( 충돌 없는 경우)
main(master)가 가장 위로 올라간다.
병합해서 충돌이 안나려면?
다른 파일에서 작업하면 된다. (이 부분이 약간 이해가 안갔지만 다음 강의에서 더 자세히 다루도록 할 것이다.)
pull 및 충돌 해결하기
Pull 이 뜨는 이유는 내가 지금 작업하고 있는 작업외에 다른 작업이 커밋되어있기 때문이다.
(혼자 있을때는 여러 컴퓨터 사용시, 여러명이랑 작업할때는 빈번한 일이다)
습관적으로 pull 확인해봐야한다.
머지 한 후에 브랜치들은 삭제 가능하다.
pull 할때도 충돌 가능하다.
충돌을 해결하는 3가지 방법
1. 직접 수정하기(에디터를 이용)
병합을 했더니 충돌이 일어났다
커밋을 눌러주고나서 내 파일을 확인하러 들어가보자.
이렇게 충돌이 난 부분이 표시가 된다.
간단한 예시이니간 이건 그냥 내가 살리고 싶은부분을 남기고 저장해주면 된다.
이후에 커밋완료되면 푸시
2.
두번째 방법을 사용하기 위해서 위에서 충돌 해결한걸 되돌린 다음 다시 시작한다. 원하는 곳에서 main 을 이 커밋으로 초기화를 누른 다음
사용중인 모드를 hard 로 설정해준다음 확인을 누르면 다시 충돌 병합하기 이전으로 돌아온다!
두번째 방법은 커밋 후, 스테이지에 올라가지 않은 파일을 '저장소'의 것을 사용해서 해결하는 방법이다.(conflict를 선택할 때)
세번재 방법은
'내것'을 이용해서 해결하는 방식이다.(main / master)
뒤에 두가지 방식은 혼자서 작업할 경우 일반적으로 두 변경사항 중 하나가 최신이고 정답일 가능성이 높다. (주로 내것이용해결방식)