앞서서, 


깃을 설치했었고


깃허브와 소스트리를 연동했었다.


소스트리를 사용할 준비가 되었는데. 뭘 해야할지 모른다. 


왜냐하면 아무것도 모르기 때문이다.


그럼 먼저,


소스트리에서 깃허브로 전송하기 위해


Push와 Pull을 먼저 알아보자.


Push = 밀다, 밀어붙이다.

Pull = 당기다, 끌어당기다.


무슨 의미인지 바로 알 것이다.


깃허브(원격 저장소)로 밀어넣는 것이 Push

깃허브(원격 저장소)에 있던 코드를 내 PC(로컬 저장소)로 당겨오는 것이 Pull


그리고 Push를 하기 위해 전단계로 Commit을 해주게된다.


Push 

그럼 소스트리에서 Push를 해보도록 하자.


먼저 목적지 경로로 설정된 폴더로 이동한 후,


텍스트 파일을 추가해보자.


좌측에 'Working Copy' 탭, 한글 버전의 경우 '작업 공간' 탭을 눌러보면


폴더에 변화가 없을 때는 Nothing to Commit이라는 문구과 함께


아무것도 표시되지 않지만,


index.txt 파일을 추가했다면, 다음과 같이 화면이 변한다.



확대해보면,




이렇게 Unstaged files 부분에 방금 생성된 index.txt 파일이 ? 표시와 함께 나타났다.


Push를 해 원격 저장소로 보내기 위한 전 과정으로 커밋을 해줘야한다.


Commit 


커밋을 하기 위해서는 


1. Stage All 버튼을 통해 Staged filed로 파일들을 올린다음,


2. Commit 메세지를 작성한뒤, 커밋버튼을 누르면 된다.


이렇게 되면, 상단 Push에 1이 나온다. 1은 Push할 파일이 1개 존재한다는 의미이다.


이 상태가 되면 Push를 위한 준비가 끝났다.



Push를 눌러보자. 그러면 다음과 같은 창이 나온다.


위 이미지에서 다시 한번 Push를 누르면 깃허브의 repository(저장소)에 소스가 올라가게 된다.

처음하는 Push라면 



깃허브 인증창이 뜰 수도 있다. 입력해주자. 이메일이 아니라 Username이다!



Fetch + Pull


반대로 다른 팀원이 Push를 통해 깃허브에 올린 코드를 받아올 경우를 생각해보자.


1. Fetch 버튼을 누른다.

2. Fetch 창이 뜨는데 그냥 OK 누르면된다.


아무런 동작도 일어나지 않는다.


왜냐하면 혼자이기 때문이다. 팀원이 Push로 올렸을 경우 내려받기로 받는거지...


아무것도 변경된 것도 없고 받을 것도 없으므로 아무런 반응도 없다.


만약 팀원이 있고, 받을게 있다면 Pull에도 숫자가 뜨게 된다. 


이 때 Push와 마찮가지로 버튼을 눌러 받아올 수 있다.





결론


푸시(Push) = 업로드. 백업


내 PC( 로컬 저장소)에서 작업한 것을 깃허브(원격 저장소)로 변경된 파일을 업로드하는 것.

이 과정을 Git에서는 푸시(Push)라고 한다. 


풀(Pull) = 다운로드. 업데이트


원격 저장소에서 로컬 저장소로 업데이트하기 위해 풀(Pull)을 사용함.

다른 사람이 원격 저장소에 올려놓은(Push) 변경 내용을 내 코드에 업데이트 



Posted by sungho88
,
소스트리란 무엇인가?




1. 소스트리(SourceTree)를 다운로드한다. 사이트는 아래에 있다.


2. 다운로드 받아 설치를 완료하면 다음과 같이 소스트리 창이 실행된다.
(버전에 따라 이미지와 다를 수 있다)


3. 상단에 Local 말고 Remote를 실행한다.


4. 좌측에 + Add an account를 클릭하여 원격 연결을 설정한다.



Host에서 설정할 것 :  Hosting Service부분을 GitHub 선택. 그외것들은 그대로 두면 됨.


Credentials에서 할 일 : Refresh OAuth Token을 클릭한다.

그러면 깃허브 사이트에 들어가게 되고 인증 과정을 진행한다.

허용하겠음을 하게 되면 깃허브 아이디를 Username으로 자도으로 끌고온다.

OK를 눌러서 창을 닫는다. 이제 Clone해서 받아보자.


소스트리와 깃허브 저장소(Repository) 연동하기


Remote 오른쪽 Clone 탭을 누르면 위에와 같은 화면이 나온다.

첫 번째 Input : Source Path / URL : 원격 URL Clone 주소를 입력한다.



두 번째 Input : Destination Path : 자신의 PC에 파일이 저장되는 위치를 말하므로 자신이 원하는 위치에 저장하고 싶다면 변경하면 된다. 변경하지 않으면 자동으로 기본 위치가 설정된다.


세 번째 Input : name: 별 의미 없다. 원하는 이름 입력한다. 기본값이 있으므로 입력 안 해도 무방하다.
네 번째 Input : root: 별 의미 없다. 기본값이 있으므로 건들지 않는다.

그리고 클론(Clone)를 누르면 



드르륵~ 드르륵~ 후...


화면이 달라진것을 볼 수 있다. 이제 깃을 사용할 수 있는 준비가 된 것이다.

이제, 소스트리를 이용해서 깃허브에 코드를 제어하는 방법에 대해 알아볼 것이다.
























테스트하기 위해서, 원하는 위치에 로컬 저장소를 만들었다(그냥 빈 폴더 하나 생성하면 된다)
이렇게 로컬 저장소로 생성한 경로에다가 소스트리에서 리포지토리로 설정을 해주게 되면
Git관련 파일들이 설치가 되며, 그 이후 뭔가 파일이 수정되거나 제거되거나 생성될때는 바로바로 그 변화된 부분을 
찾아내어 알려준다(트래킹이라고 함) 이러한 변화를 한눈에 GUI형태로 보여주도록 해 놓은게 바로 소스트리이다.

  

<소스트리에서 저장소 만들기>


1. Clone/New 메뉴를 클릭한다.

2. Create New Repository 메뉴를 클릭한다.

3. Repository Type은 자동으로 설정이 된다. Destination Path에 위에서 만든 빈 폴더의 경로로 가 폴더를 추가한다.

4. 완료를 하면 왼쪽에 프로젝트가 뜨게 된다. 그러면 정상적으로 설정하였다.


이제부터 이 폴더는 소스트리가 지켜본다. 

뭔가 변화가 생기면 즉각적으로 소스트리에 변화된 내용을 알려주게 된다.

그렇다면 뭔가 변화를 줘서 확인해보자.

빈 폴더에 파일을 하나 생성한 다음 소스트리로 돌아오면 뭔가 파일이 ?가 뜬채로 생긴것을 볼 수 있다.

?는 처음보는 파일이니 소스트리에서 알 수 없으므로 ?가 뜨는것이다.

이것을 버전 관리를 하려면 커밋을 해주면된다. 아래에 체크를 해주면 체크해준 파일이 이동한다.

무시하고 Commit버튼을 눌러 커밋해보자.  

 



소스트리를 처음 사용할때 에러가 나는 경우가 있다.  사용자가 누군지 아직 정해주지 않았기 때문이다.

깃을 사용한다는 것은 협업을 한다는 것인데 누가 이 것을 커밋했는지를 알 수 없기때문이다. 당연한거다.

그래서, 사용자의 정보가 없을경우 이름 & 이메일을 처음에 등록해줘어야 한다. 그 이후는 묻지않고 커밋이 가능하다.

커밋을 하면 BRANCHES에 추가된다(버전이 생겼다)

소소트리에서 변경된 코드 부분을 보면 아래와 같이 다양한 색상을 갖고 있다.


녹색 라인 : (이전 버전과 비교해서) 추가된 부분

흰색 라인 : (이전 버전과 비교해서) 변경된 것 없음

빨간 라인 : (이전 버전과 비교해서) 제거된 부분



<소스트리에서 >

위 노란색은 깃에 의해 관리되고 있는 파일이다. 저기에 떳다는 것은 index.html파일이 수정되었다는 것을 의미한다.

보라색 물음표는 처음 보는 파일, 즉 처음 생성된 파일이라고 할 수 있다.

 

Posted by sungho88
,