정말 시작할때부터 나를 계속 당황하게 한 git에 대해서 정리를 해보려고 합니다.
아무래도 협업을 하고 같이 프로젝트를 하려면 git 사용방법에 대해서 알고 있는 것이 중요할 것 같다는 생각에서 이렇게 적어봅니다.

일단 git에는 크게 2가지 저장소가 있습니다.
로컬 저장소(내 컴퓨터)와 Github
로컬 저장소에 저장하는 것은 'commit'이라고 하고 github에 올리는 것은 'Push'라고 합니다.
일반적으로 github가 잘 연결이 되어있다면 eclipse에서 commit과 동시에 Push를 할 수 있죠.
하지만 잘 연결이 안되어 있다면 commit만 가능하고 Push는 안됩니다. 즉 내 컴퓨터에만 저장이 되어있고 github에는 저장이 안되어 있다는 말이죠.
이때부터 골치 아파지는 겁니다^^

잘 연결이 되어있는데 실수로 commit만 된 경우에는 git창에서 우클릭 후 Push Branch 'master'를 눌러서 Force~ 가 있는데 이걸 체크해서 강제로 올리는 방법이 있습니다.
아니면 안올라가진 package를 선택해서 Team 에서 add to Index를 클릭해서 git staging에서 올리는 방법이 있습니다.

이거보다 더 쉬운 방법이 있는데 sourcetree를 다운로드 받으면 로컬에만 저장된게 있다면 푸쉬에 숫자가 뜨는데 그건 로컬에만 저장된 파일 수를 나타냅니다. 그걸 누르고 푸쉬하면 github로 올라가게 됩니다.

아직 github에 안 올라간 파일에는 master와 origin이 일치하지 않은 것을 확인할 수 있습니다. origin이 있는 곳에 우클릭을 하고 '이 커밋까지 현재 브런치를 초기화' 버튼이 있는데 이 버튼을 누르고 HARD를 선택해주면 그 파일 다시 초기화가 됩니다. 즉 그 파일 이후에 수정된 파일들은 다 날라가는 것이죠. 이것을 Reset이라고 하는데 이것은 github에 올라가지 않은 상태에서 해야합니다. 안 그러면 github에 올라가는 파일들이 꼬이고 난리가 납니다.

우클릭했을때 '커밋되돌리기'가 있는데 이것은 Revert라고 하고 해당파일 바로 전단계로 되돌린다는 뜻이다. 만약 github에 올라가 있으면 revert를 해야한다. 그러면 선택된 것은 지워지고 그 전으로 돌아간다. 선택된 것보다 최근 것에 대한 수정여부를 물어보고 그것에 대해서 수정할 것인지 그대로 둘것인지 설정하고 push하면 github에 올라간다.

Open Git Bash here 명령창에서 git init.하는 것은 해당 파일에 깃 저장소를 만든다는 것인데 sourcetree에서 create와 같은 것이다.

원격이라는 말이 나오는데 이거는 github를 말한다.

push는 github로 올린다는 말이고 pull은 github에서 당겨온다는 말이다.

check out이라는 말이 있는데 이것은 브랜치를 나간다는 뜻이다.

그리고 github에 올릴때 너무 큰 파일은 올릴 수 없으니 조심해야한다.100MB 이상 올릴때는 그 파일은 .gitignore에서 처리해주고 올려야한다.

제가 프로젝트를 하면서 알게되었는데 gitHub는 하나라도 다르면 당겨올때 충돌이 나더라고요...
그만큼 git을 관리하는 것이 중요하다는 생각을 했습니다.

여러사람이 같이 하나의 프로젝트를 할 때 각자의 workspace에서 올릴 수 있는 브런치(Branch)를 만든 다음에 나중에 이 개개인의 브런치들을 합쳐서 master에 합치는(merge)하는 방법을 사용하면 유용하더라고요
그러니까 Branch는 나무의 가지라고 생각하고 master는 기둥이라고 생각하시면 편할거같아요.
각각의 가지들이 기둥으로 모인다고 생각하면 이해하시기 편할 거예요.

profile
즐겁게 개발

0개의 댓글

관련 채용 정보