프로그래밍/Git 설치

Git for Window 설치 이야기

seungdols 2015. 6. 27. 02:16


승돌즈 프로그래밍




오늘의 주제


윈도우 사용자를 위한 Git 설치 가이드입니다.


물론 리눅스 사용자의 경우에는 아마 보통의 경우에는 기본 설치되어있을겁니다.


윈도우 사용자가 Git을 쓰려면 두 가지 루틴이 필요합니다.


msGit 설치 & TortoiseGit설치









msGit 설치 가이드

http://msysgit.github.io/



Advanced Context Menu 저거 클릭 해주시면 우클릭시 git init등 메뉴바에 추가 됩니다.

제 컴퓨터는 제가 메트로 UI 관련 레지스트 날려먹어서 Window가 좀 불안정한 탓인지..

안뜹니다...보통은 뜹니다.




3번째의 경우는 cmd + unix 명령어를 사용합니다.

몰라도 일단 이걸 선택합니다. 배우면 되니까요.



Check out 스타일 지정인데 기본으로 갑니다.




~ 표시는 리눅스상에서 흔히 볼 수 있죠.




디렉토리 이동합니다.


cd D; 는 D 드라이브로 이동 ㅎ

mkdir 명령어는 디렉토리를 make

보이시는 명령 대로 치시면 됩니다.


실제 디렉토리 상에도 생성 되었죠?

보기 - > 숨은 파일도 체크 하셔야 보입니다.





vi 명령어는 유닉스에서 가장 많이 쓰이는 개발툴.....Vim입니다.



판타스틱...ㅎ

여기서 a or o를 눌러야 INSERT로 바뀝니다.

안누르면 안써짐.

나갈 땐, ESC 클릭 후 : 누르고 wq (썼으니 쓰고 저장하겠도다.)



가장 중요한 것!!!

user 등록입니다.

user.name/user.email 등록 해줍니다.




앞으로 많이 쓸 git status

상태를 보겠다는 거죠.

사실 Git init을 하면 이제부터 이 디렉토리 상의 파일은 Git이 추적 관리 하겠다는 뜻입니다.



그래서 Git add .을 누르면 디렉토리를 git 저장소로 추가합니다.

원래는 처음에만 . 을 입력하고 이 후는 직접 경로를 입력합니다.



첫 커밋을 해보았네요 ㅎ


깃허브로 옮겨가봅시다.


우리는 Git Remote Server가 없잔아요?



repository를 생성합니다.



Private의 경우 돈내야 합니다.


임마들도 땅파서 장사하는게 아니니까요.


공개 공개로 가죠



생성이 되었습니다.

여기서 https의 주소를 Copy 합니다.



Remote : 즉 원격 저장소 경로를 지정합니다.



여기서 제가 잘 못 쳤는데 저장소 등록 후에는

Git push -u "remote name" master

제가 master를 빼먹었네요.....다시 쳤습니다.

그럼 Github ID/pass를 입력합시다.



위 사진에는 push가 안됐죠?

master를 깜빡해서 그렇습니다.



다시 치면, 완료!!



Github 상에서도 확인이 가능하죠?

https://github.com/choiseungho/Git_TEST


TortoiseGit 가이드

https://code.google.com/p/tortoisegit/wiki/Download







사실 저희는 아까 등록을 해놨었죠??ㅎㅎ



적당한 디렉토리 가서 우클릭.



뭐라고 물어보는게 씹고..(사실 뭐라는지 모름)

Ok



아까 git bash에서 열나게 했던거랑 다르게 겁나 쉽게 .Git이 생성 되었습니다.





메세지는 입력해줍니다.


항상 Commit시에는 어떤게 바뀌었는지 메시지가 중요합니다.


안그럼 맞아요..




log 클릭시 로그를 볼수 있습죠.



요로코롬 Master로 commit된걸 볼수 있죠



원격 저장소로 보내봅시다.



URL 입력란에 Github repository 주소를 적습니다.








뜨악... 오류 발생.




이유가 뭔가 하니 아까 썼던 URL를 썼네요... 새벽에 포스팅 하느라;;;;


Repository를 새로 생성해주시고, 새 주소를 넣어주세요.





그럼 됩니다.

https://github.com/choiseungho/tor_gitTEST


요기엔 이상한 Python 파일들이 있습니다.





위 두가지를 함으로 Git을 친근하게 느껴봅니다.

참고로 Git command는 검색하셔서 참고 하시면 됩니다.


사 실 이것들이 뭔지 모르신다? 하셔서 약소하게 설명하자면, 흔히 SCM(형상관리시스템)이라고 합니다.

Git or SVN(Subvision) 사실 SVN은 CVS라는 코드 버젼 관리 시스템인데 2000년초반 문제점이 발생합니다. commit을 여러 파일을 하더라도 CVS에서는 다른 버전이어야 한다는 점. 그래서 Clone(지금은 몰라도 됨)을 하려면 일일히 하나하나 섬세하게 받아야 합니다. ( 귀찮...)

그래서 CVS 팀들이 개선하여 개발한 것이 바로 SVN입니다. 그러나 여기서 리눅스 만든 형아 토발즈 형아가 GIT을 개발합니다. 차이점은 여럿 존재합니다.

SVN의 경우 중앙 집중식이며, commit 한 번에 바로 원격 저장소로 이동합니다.

그러나 git의 경우 Commit은 모든 코드 관리가 로컬영역에서 이루어진다는 점입니다. Git은 로컬 분산형인 경우가 됩니다. 보통 빌드 또한 자동으로 이루어집니다. push -> remote 저장소 ->  Jenkins (CI : 통합빌드시스템&통합 배포 시스템)

즉, 원격저장소로 넘어간 코드는 바로 Jenkins (젠킨스 할아버지는 보통 배포 업무를 합니다)....그러나 요새는 CI(통합 빌드 시스템) + 통합 배포 시스템 + 테스트 자동화역할까지 합니다.

Jenkins 에서 배포 Server , Test 자동화까지 이루어지는 구조입니다.

즉 SVN 구조에서는 제가 코드 개같이 짜는 날에는 바로 에러 리포트로 올라옵니다....

욕 디지게 먹겠죠....그래서 GIT의 장점은 내 코드는 내가 완전하게 관리 한다는 점!

참고로 좋은 정보라 Slideshare link 놓아드립니다.

http://www.slideshare.net/einsub/svn-git-17386752









































반응형