깃허브로 올리고자 하는 폴더로 이동 후,


터미널을 통해 순차적으로 입력한다.

  1. git init
  2. git remote add origin {깃허브 URL}
  3. git add .
  4. git commit -m ‘message’
  5. git push origin master


이렇게 하게 되면, 깃허브로 폴더 내용이 보내진다.


1,2번은 최초 1회 실행하는 코드이며 수정된 코드를 다시 보내려한다면, 


3번부터 순차적으로 진행하면 된다.


3. git add .


4. git commit -m ‘something change…’


5. git push origin master


3번을 빠뜨리고 commit 하게 되면


Changes not staged for commit:

        modified:   README.md


이러한 에러가 발생한다.



해결 방법은 당연히 


3번 git add .를 해주는 것이다.


이런식으로 깃허브에 코드를 보낸다.


Posted by sungho88
,

깃허브에서 쓸데없는 레포지토리를 제거하려고 한다.


쉽게 찾을 수 없게 구석에 감춰뒀다.


왜냐하면, 실수로 지울 경우 매우 피해막심하기 때문이다.


치명적인 실수이므로 그런 사고를 방지하기 위함이다.


찾아가서 비밀번호 재확인 후 제거할 수 있다.



1. 먼저 Settings 탭을 눌러 들어간다.



2. 최하단에 Danger Zone이 위치한다. 빨간색 border로 무시무시하게 경고를 해놨다.

여기서 Delete this repository 버튼을 선택한다.


요약


진짜로 지울꺼냐? 다 지워진다. 되돌릴 수 없다. 진짜냐? 레알? 정말로? 모두 지워지는데?

이해했으면 레포지터리 이름을 입력해라!





위의 경우 test01을 완벽하게 입력해야만 버튼이 활성화된다.

활성화되면 제거하면 된다.


주의하자. 지우기 전 신중하자.

다 날라간다.

Posted by sungho88
,

1. 윈도우서는 맥OS - 터미널과 달리 깃 응용프로그램을 설치해주어야 한다.


깃 다운로드 


2. 다운로드한 파일을 설치해준다. 설정은 다음과 같다.



(설치 과정 캡처)













설치가 완료되면 시작 - 모든 프로그램에서 Git이 설치된 것을 볼 수 있다.



0. 깃 명령어를 사용하기 위해 Git CMD를 실행한다. 여기서 코드를 입력하면 된다.


그리고, 


1. 깃허브에 가입을 한뒤, 로그인을 한다.


2. New Repository 버튼을 통해 레파지토리(Repository)를 생성한다. 

버튼 위치는 메인 페이지 좌측 중단에 위치한다.



3. 버튼을 누르면 아래와 같은  화면이 나온다.

자신이 원하는 임의의 Repository name을 적어보자.

먼저, Owner/Repository name은 추후에 깃허브 래파지토리(Repository) 주소로 설정된다.

Description은 뭐... 래파지토리 설명일테고,...

Public과 Private는 코드 공개/비공개 여부일 것이다.



아 참고로 깃허브는 공개(Public)이다.

만약, 공개를 원치 않는다면, 비공개(Private)으로 설정하면 되지만, 무료가 아니다.

아래와 같이 매달 7달러를 결제해야만 비공개로 깃허브를 사용할 수 있다.



Create repository를 선택하면,



처음에 뭘 해야할지 모를 수 있으므로, 다음과같은 명령어 가이드가 나오게 된다.

이 명령어를 맨 위에서 열었던 Git CMD에서 한줄 한줄 복붙해보면 된다.


echo "# test01" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/sungho88/test01.git
git push -u origin master

5번째 명령어를 보면 방금 만든 래파지토리 경로를 확인할 수 있다.

이 5번째 명령어를 입력하면, 최초 입력시 Github로그인창이 나온다.

이것은 사용자가 확실한지 못믿겠다, 다시 하번 로그인해서 증명해봐라. 이런 의미로 볼 수 있다.

정확한 로그인으로 이 인증이 료된다면 뭔가가 진행이 된다.

하지만, 완전히 보낸 것이 아니다. 보낼 준비?를 마친것이다.

원격 래파지토리로 보내기 위해서는 Push를 사용해야한다.


마지막 명령어까지 입력이 정상적으로 완료되었다면 깃허브로 돌아가보자.






첫 번째 명령어(echo "# test01" >> README.md)로 만든 README.md가 존재한다.

즉, PC에서 깃허브의 래파지토리로 전송이 완료되었음을 알 수 있다.


이상으로 


깃 설치 및 깃허브로 Push를 해보는 것까지 살펴봤다.

Posted by sungho88
,

이 블로그를 참고해서 작성해보았다.

http://krksap.tistory.com/358


1. Bitbucket에 가입한다.(https://bitbucket.org/product)

2. Projects 탭에서 Create Project를 선택하고 생성한다.

3. Repositories 탭에서 Create repository를 선택하고 생성한다.

4. 1~3과정을 통해 Bitbucket에 repository가 생성되었다.


그런데 이 저장소를 어떻게 사용해야 하는거지???

클라이언트에서 깃 저장소를 사용하기 위해서는 클론을 해줘야한다.

왼쪽 메뉴에서 가장 위에 있는 Clone을 클릭하면 다음과 같이 저장소의 주소가 보인다.

그것을 복사해서 소스트리에서 연결시켜주면 된다.


소스트리란?

깃은 편리하지만 기능이 너무 많고 복잡하기 때문에 세팅하기가 굉장히 어렵다.

그래서, 조금이나마 간단하게 GUI 환경에서 깃을 관리할 수 있는 툴이 있는데

그것이 바로 소스트리라는 것이다.

어쨋든… 복사해놓은 URL을 소스트리 어디에 갖다 붙이느냐…


소스토리를 열면 눈앞에 바로 보이는 저 Clone/New를 클릭한다.

그러면 창이 하나 열린다. 또 클릭하고 할 것 없다. 그냥 이 화면에서 해결하면 된다.


Source Path / URL에다가 복사해놓은 URL을 처넣자.

그리고, 어디에 위치할 것인지를 Destination Path로 경로를 설정해주자.

그 폴더가 .git파일이 생성되면서 깃과 연동된 파일이 된다.

그 다음에 Clone 버튼을 클릭해서 닫으면 정상적으로 생성이 되었을 것이다.

그 폴더로 들어가보자.

그러면 빈 폴더 안에 .git이라는 파일이 들어있다.

이 폴더는 이제 git이 관리하는 폴더가 된 것이다.

이제 프로젝트를 이 폴더에 저장하면 깃이 알아서 체크해준다.


Posted by sungho88
,

- 하나의 버전은 모든 변경사항들을 포괄 할 수 있음

- Uncommitted changes가 뜬다면 커밋할 무엇인가가 있다는 의미.

  (즉, 로컬 래파지토리에 변화가 일어났다는 것을 의미.)


Unstaged files

로컬 래파지토리에서 수정된 파일이 존재하는 공간 --> Working copy

체크를 하게 되면 Staged files로 이동하게 된다.


Staged files

커밋이 되었을경우 버전으로 생성될 파일들을 갖고 있는 공간 --> Index 또는 Staging area

Unstaged files에서 Staged files으로 이동(체크)하는 행위를 의미하는 용어 -->add

커밋을 하게 되면 Staged files에 있던 파일들을 저장소로 올리게 되는데, 그러면 버전이 하나 생성된다.

각각의 버전들이 저장되어있는 공간을 Repository 즉 저장소라 부름.

즉, working copy 공간에 있는 파일들은 무시되고, index에 존재하는 파일들만 Commit할 수 있다.




정리하면, 아래와 같은 상황일때;.

Uncommitted changes 이 맨 위에 뜬다면,  로컬 래파지토리에 뭔가 변화가 생겼다는 것을 의미한다.

클릭을 해보면 밑에 변화된 파일들의 목록이 나오게 된다.

여기서 변화란 기존에 있는 코드의 수정일 수도 있지만, 파일 생성 또는 제거를 한 것도 포함된다.

아래에서는 index.html파일만 커밋하기 위해 한 개만  add시켰다.




하나의 파일이어도 index(staging area)에 올려져있는 파일을 수정하면 Working copy에 동일한 이름의 파일이 생성된다. 즉, 동일한 파일이어도 위치에 따라 코드가 다를 수 있다.

그리고 커밋을 하면 index(staging area)에 올려진 코드는 커밋되지만, Working copy에 있는 파일은 그대로 남아있다.



<커밋 전에 수정사항 취소하기>


Discard

Discard라는 명령어를 사용하게 되면 이전 버전 이후 변경한 내용을 모두 되돌려 초기화시킨다.

즉, 가장 최근에 커밋한 상태로 되돌아간다.

흔히 말하는... 코드가 꼬이거나, 원인모를 문제가 발생할경우 사용하면 처음으로 되돌리는 용도이다.



Reset : 버전을 제거하면서 내가 원하는 버전으로 되돌림

종류 : Mixed / Hard / Soft 

이미 커밋한 버전을 취소하는 방법은 Reset을 사용한다.


A) 내가 돌아가고 싶은 버전으로 돌아가면서 그 버전 이후의 모든 것들을 제거하고 싶다면?

Q) 브랜치 그래프에서 자신이 돌아가고 싶은 부분(버전)을 클릭한 다음 마우스 오른쪽 클릭 - Reset current branch to this commit을 선택한 후 Using mode 를 설정한다.

Hard - discard all working copy changes 를 선택한 후 OK를 누르면 경고창이 한 번 뜬다.

모두 지울것이므로 진짜 지울거냐고 물어보는 것이다.  이것은 마치 휴지통 비우기와 비슷한 것 같다. 완전히 날려버림....

모든 일이 끝나고 확인하면 해당 부분의 코드로 돌아온 것을 알 수 있다.. 그 이후 수정 버전은 모두 제거되었다...

조심히 쓰자.



내가 돌아가고 싶은 버전으로 돌아가면서 그 버전 이후의 모든 것들을 제거하고 싶다면?
+ Working copy에 커밋되지 않은 상태로 유지되게 만들고 싶다면

 

Q) 브랜치 그래프에서 자신이 돌아가고 싶은 부분(버전)을 클릭한 다음 마우스 오른쪽 클릭 - Reset current branch to this commit을 선택한 후 Using mode 를 설정한다.

Mixed - keep working copy but reset index 를 선택한 후 OK를 누르면 진행된다.

커밋되기 전에 상태 그대로 Working copy로 나타나면서 다른 버전들은 모두 제거된다.


Revert(Reverse) : 버전을 유지하면서 내가 원하는 버전으로 되돌림

내가 선택한 그 버전을 취소해서 그 버전 이전 상태로 돌리는 것을 의미한다.

안 하는 게 낫다. 왜냐하면 버전은 그냥 되도록 남겨두는것이 좋다.

제거되는 것이 아니라 이전 버전 상태로 돌아가게 된다.


















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
,