본문 바로가기

프로그래밍 공부/git ,github

깃허브의 연습 - 간단한 쓰기, 넣기 와 꺼내기

A> 깃의 기본적인 구성
저장을 할 수 있는 공간은 3가지 종류가 있다.
a.자신의 저장소인 Local Repository
b.자신의 저장소에서 원격저장소로 가기 전에 임시로 저장하는 공간인 stage
c.원격 저장소가 있다.
 
a -> b 를 하기 위해 add 를 하여 관리하고자 하는 파일을 stage로 올린다.
commit 을 하여 로컬 저장소 내의 git history 에 수정 내용을 등록 한다.
b -> c 를 하기 위해 push 를 한다.
 
 
B> 깃의 사용법 - 원격저장소에 저장을 할 때
0. 깃에다 리포지토리를 만들자. 이 리포지토리는 원격저장소이다.
 
1. git init을 하거나 원격 저장소를 복제(clone)를 한다.
: git init 을 하자
 
2. 환경설정을 한다. 계정에 관한 설정이다.
:git config --global user.name "이름"
:git config --global user.email "깃허브 이메일"
그럼 마스터 브랜치상에 위치할 것이다.
 
 
3. remote 명령어로 local repository 와 remote repository의 링크를 연결한다.
:git remote add origin https://github.com/jjlim1004/githubPractice.git
이 명령어는 https://github.com/jjlim1004/githubPractice.git를 origin 이라는 이름으로
온라인 어딘가의 저장소에 저장한다는 뜻이다.
링크가 되었는지 확인을 해보자
:git remote -v
 
 
4.add를 하여 깃의 관리를 받게 하자 commit을 하기 위한 선행단계이다.
:git add 파일.확장자
그리고 git status 를 해보면 어떤게 add가 되었는지 여부를 확인할 수 있다.
 
5.commit을 해보자
:git commit -m "남길 메세지"
-m은 메세지를 남긴다는 뜻이며, 반드시 메세지를 남겨야 된다. 메세지를 남겨라
 
## 4,5 단계를 3이전에 해도 상관 없다.
 
6.push를 하여 원격저장소에 저장하자
:git push origin master
origin에 있는 master 브랜치에 저장을 하는 것이다.
만약 아무것도 안한 새 저장소라면 git push 로 해도 들어는 간다. 하지만 그런 습관을 들일필요는 없다.
>git push -u 원격저장소 특정 브랜치

  리모트 리포지토리의 특정 브랜치에 push 한다는 뜻이다.
  
   -u를 쓰면 자동으로 원격저장소와 특정 브랜치를 매핑하여 
   
     이후에 git push, git pull 이렇게만 써도 된다.
7.현재 branch를 확인해보자
:git branch
그럼 * master 로 나와있을 것이다.
* 는 현재 브랜치라는 표시이다.
 
8. 새 브랜치를 생성해보자
:git branch 생성할 브랜치 이름
다시 한번 git branch 를 하면 이렇게 확인이 될 것이다.
* master
생성된 브랜치
 
9. 브랜치 위치를 변경해보자
master 브랜치에서 생성된 브랜치로 변경하자
새로 생성된 브랜치를 submaster 라고 하자
:git checkout submaster
그러면 Switched to branch 'submaster' 라고 메세지가 나온다.
다시한번 git branch 를 해보면 *submaster 를 확인 할 수 있다.
 
10.한번 작업을 해보자
txt 파일을 하나 만들고
add를 하고 commit 을 해보자
그리고 push를 submaster 브랜치에 해보자
:git push origin submaster
 
11. git clone 을 이용해 파일을 복사해보자
:git clone github주소
를 하면 주소에 해당하는 파일 구조와 파일들을 가져온다.
자동으로 init도 된다.
 
12. 브랜치에서 새 커밋이 발생했을때
:git pull origin master
을 이용하면 원격저장소에서 새로이 커밋된 내용을 지정한 브랜치(위 예에선 master)가 받는다.
충돌 나는게 없으면 자동으로 add 된다.
 
13. 병합
:git merge 합칠 브랜치명
만약 submaster의 내용을 master에 merge 하려면
submaster의 브랜치에서 git merger master 를 하면 된다.
충돌이 일어날 때는 <<<<HEAD 와 ===== 현재 브랜치 >>>>>>
의 표시로 충돌이 어디서 일어났는지 알 수 있다. 수정하고 commit 하자