건프의 소소한 개발이야기

[Git/Github] 어디서든 터미널로 사용하기 본문

개발 이야기/Git - 버전관리 이야기

[Git/Github] 어디서든 터미널로 사용하기

건강한프로그래머 2016. 5. 28. 17:09

안녕하세요, 건프입니다.


전에는 소스트리(SourceTree) 라는 Git GUI Helper 프로그램을 이용해서 소스코드 관리 및 프로젝트 관리를 하는 법을 알아봤었는데,


이것은 항상 사용하는 본인 개인 컴퓨터 에서 유용한 방법입니다.


아무래도 개발 환경이 달라지거나, GUI 를 사용하기 힘든 환경(예를 들어 원격지가 터미널로만 접근해야하는 SSH 를 사용한다던가, GUI 를 지원하지않는 임베디드 보드 안에서 minicom 으로 접근해야 할 때 등?) 에서는 사용하기 힘들죠,


그래서 이번에는 터미널로써 사용할 정말 기본적인 방법을 직접 따라가보면서 막히는 부분을 해결해 가보려고 합니다.


실습했던 환경은 라즈베리파이2(Raspberry Pi 2) 에서 리눅스(Linux 3.6 버전) 위 입니다.


1. Git 은 설치되었다고 생각하고, Git 버전부터 확인합니다.



설치되어 있는 git 은 2.1.4 이네요.

현재 디렉토리를 git 디렉토리로 만들어줍니다.


git init


2. stage 에 올리는 명령을 합니다.



stage 에 원하는 파일 올리는 명령은 다음과 같습니다.

git add (파일명)




3. 현재 unstage 된 모든 파일을 올리는 방법은 다음과 같습니다.


git add -v


4. 원격지를 등록해봅시다.


현재 이 폴더에는 원격지가 등록되어 있지 않습니다.

이럴때 아래 명령어를 해도 아무런 반응이 없습니다.

git remote 

git remote -v



원격지를 추가하는 방법은 다음과 같습니다.

git remote add (원격지 별명) (url)




물론 위에서 써넣은 원격지 저장소는 미리 만들어 놔야 합니다.

이렇게 말이죠. 

처음에는 물론 비어 있는 상태일 겁니다.

이제 우리는 여기에 현 폴더 안에 있는 소스들을 업로드 할 것입니다.


5. 원격지 저장소에 푸시합시다.


git fetch (원격지별명) (원격지브랜치명)  // 푸시하기 전에 원격지에 있는 내용과 싱크가 맞는지 확인(fetch)  합니다.


git push (원격저별명) (원격지브랜치명)  // 원격지 저장소에 현재 폴더의 파일들을 푸시(전송)합니다.



그런데 뭔가 오류가 뜨길래 뭐지?! 하고 생각해 봤더니


아 생각해보니까 로컬(Local) 에서 파일들을 stage 에 add만 해놓고 커밋(commit)을 하지 않았었습니다.


6. 커밋합시다.


git commit -m "커밋 메세지를 여기에 적어요"


그랬더니, 내가 누구인지를 물어봅니다.

소스를 커밋할때는 누가 커밋했는지를 알 수 있어야 합니다.

아마 처음에 한번만 등록해주면 설정파일에서 자동으로 알아서 작업해 주는듯 합니다.


git config --global user.email "your@email.com"

git config --global user.name "yourname"


그리고 커밋하시면,

커밋이 됩니다! ㅎㅎ


7. 이제 원격지에 푸시합시다.



몬가 오류가 나는듯 했는데, 오류라기보다

"원격지에 푸시할 거면, 원격지에 푸시할 권한을 얻어라"

는 의미로 보입니다.

Github 가 public repo라도, 보는 것이 자유인 것이지, 쓰는 권한까지 모두에게 열려있는 것은 아니니까요.

git push --set-upstream (원격지별명) (원격지브랜치)


이렇게 하시면 물어봅니다.

본 Repo 의 권한 확인을 위해서  github 아이디와 패스워드륾 물어봅니다.


로그인해주시면 위와 같이 푸시되었습니다!


8. 확인하기




완성입니다. 

푸시가 잘 되었는지 Github Repo 를 한번 확인해볼까요.



좋습니다. 원격지에도 파일이 잘 올라갔네요!

미션 성공~

Comments