관리 메뉴

JIHYUN JEONG

Git(깃) 입문/실습/튜토리얼/명령어 본문

Information Technology/Tool

Git(깃) 입문/실습/튜토리얼/명령어

StopHyun 2018. 9. 20. 18:14


Git(깃)을 실제로 실습해보는 시간을 가져보도록 하겠습니다.


우선 실습하기에 앞서 기본적인 명령어를 익히고 가겠습니다.


1. 명령어

 - git init: 깃 저장소를 초기화 한다. 이것을 입력한 후에 추가적인 깃 명령어를 사용 할 수 있다.

 - git config: 최초에 깃을 설정할때 사용한다.

 - git help: 가장 많이 사용하는 깃 명령어를 보여준다

 - git status: 저장소에 상태를 체크할 수 있다. 저장소 안에 어떤 파일이 있는지, 커밋이 필요한 변경사항이 있는지, 어떤 브랜치에서 작업 하고 있는지 등

 - git branch: 새로운 브랜치를 만들고, 본인의 변경사항과 파일 추가 등의 타임라인을 만든다. 동료들과 함께 작업하고 본인의 변경사항을 원할때 사용한다

 - git add: 깃이 새 파일들을 지켜보게 한다(새 파일을 추가하진 않는다). 파일을 추가하면, 깃의 저장소 "스냅샷"에 포함된다.

 - git commit: 가장 중요한 명령어!! 별 다섯개!! 변경사항을 만든 후 저장소의 "스냅샷"을 찍기 위해 이것을 입력 한다. 

 예) git commit -m "Message hear." 형식으로 사용. -m은 명령어의 그 다음 부분을 메시지로 읽으라는 뜻

 - git checkout: 현재 위치하고 있지 않ㄴ은 저장소를 "체크하웃"할 수 있다. 체크하길 원하는 저장소로 옮겨가게 해주는 탐색명령이다. 

 예) master 브랜치를 들여다 보고 싶으면, git checkout master

- git merge: 브랜치 작업을 끝내고, 모든 협업자가 볼 수 있는 master브랜치로 병합 한다. 

 예) git merge cats는 "cats" 브랜치에서 만든 모든 변경사항을 master로 추가

- git push: 나의 커밋을 깃허브 온라인으로 보기를 원할때, 이 명령어로 깃허브에 변경사항을 "push"한다.

- git pull: 로컬 컴퓨터에서 작업할때, 작업하고 있는 저장소의 최신 버전을 원하면, 이 명령어로 부터 변경사항을 다운로드한다.


2. git 실습(튜토리얼) - 로컬 설정

이제 위에서 간단히 배운 명령어들로 실습을 진행해보겠습니다.


1) 먼저 깃(https://github.com/)에 가입부터 합니다.

 


2) 설치를 진행합니다.

 https://git-scm.com/downloads


3) 이제 커맨드 라인을 작성합니다. 

 - 윈도우 : 설치한 Git Bash 

 - Mac : 터미널


아래의 코드를 작성합니다.

git config --global user.name "Your Name Here"

Your name here 엔 본인 이름을 작성합니다.


Github에 가입한 이메일을 작성합니다.

git config --global user.email "your_email@youremail.com"


여기까지가 로컬 컴퓨터에서 깃을 사용할 때 필요한 것입니다.


3. git 실습(튜토리얼) - 온라인 저장소(repository)만들기

1) https://github.com/ 이동하여 로그인 -> New repository 클릭


2) Repository name을 임의로 입력 -> Create a repository


3) 이제 프로젝트를 위한 온라인 repository가 완성 되었습니다.



4. git 실습(튜토리얼) - 로컬 저장소 만들기

이제 로컬에서 작업을 진행하기 위한 저장소를 만들어 온라인 저장소와 연동 시켜보겠습니다.


먼저 로컬 디렉토리로 만들 위해 경로를 지정합니다.


그리고 mkdir MyFirstRepo 를 입력합니다.(이전의 임의로 만든 respository name을 그대로 입력합니다) 

그리고 cd MyFirstRepo로 해당 경로로 이동 합니다.


그리고 아래의 깃 명령어를 사용 합니다.

git init, 이 코드를 입력하면 해당 디렉토리가 로컬 깃 저장소라고 명명 하게 됩니다. 이제 해당 디렉토리를 zgit-ready로 인식하였기 떄문에 깃 명령어를 입력 할 수 있습니다.


프로젝트를 위한 repo와 온라인 repo 모두 생성하였습니다.


깃 허브에 첫번째 커밋을 만들어서 프로젝트의 첫 부분을 추가해보겠습니다.

touch Readme.txt 


해당 명령어는 깃 명령어가 아닙니다. touch는 만드는 것이라고생각하겠습니다. 해당 폴더에 가보면 Readme.txt 파일이 만들 어 진 것을 볼 수 있습니다.


git status를 입력하면 아래와 유사한 문구가 출력 되는 것을 확인 할 수 있습니다.

ntracked files:

  (use "git add <file>..." to include in what will be committed)


Readme.txt


nothing added to commit but untracked files present (use "git add" to track)


여기서 중요한 포인트 2가지 
1. 지금 프로젝트의 master 브런치 상에서 작업을 진행하고 있다.

2. Readme.txt 파일이 "untracked" 파일로 리스트 되었다. 현재는 깃이 해당파일을 무시한다는 것을 뜻한다.


따라서 git이 해당 파일을 연동해주기 위해서는 아래를 입력한다.

git add Readme.txt 


이제 지금까지 해왔던 것들을 "스냅샷"을 찍거나, "커밋"해야 할 시간이다.

git commit -m "Add Readme.txt"


-m 명령어는 뒤따르는 텍스트는 메시지로 읽어야 한다는 뜻이다. 


이제 로컬에서 한 작업들을 깃허브에 'push' 할 때이다.


참고로 아직까지 로컬과 온라인 저장소가 연결되지 않았다. 


5. 로컬 저장소와 깃허브 저장소 연결


먼저, 온라인 저장소에 위치를 알려줘야 합니다. 

git remote add origin https://github.com/username/Firstproject.git


username 이후 주소는 본인에게 맞는 주소를 입력합니다.


remote는 온라인 위치를 가리키며 origin(로컬)에 있는 저장소를 해당하는 온라인 주소에 add한다고 생각하면 되겠다.


잘 연결 되 었는지 확인을 하기 위해 git remote -v 를 입력합니다.


해당 명령어는 지금까지 작업했던 내역에 대한 항목을 보여줍니다.

push, fetch가 나왔을 것 입니다. 


이제 깃허브 원격 저장소로 지금까지 변경했던 사항을 push 해보겠습니다.

git push 



단순 명령어만 입력했기 때문에 아래와 같이 경고 메시지가 나옵니다.

fatal: The current branch master has no upstream branch.

To push the current branch and set the remote as upstream, use


    git push --set-upstream origin master



다시 아래의 명령어를 입력하면 업로드가 정상적으로 됩니다.

 git push --set-upstream origin master


Username for 'https://github.com': xxxx@gmail.com

Password for 'https://xxxx@gmail.com@github.com':

Enumerating objects: 3, done.

Counting objects: 100% (3/3), done.

Writing objects: 100% (3/3), 220 bytes | 220.00 KiB/s, done.

Total 3 (delta 0), reused 0 (delta 0)

remote:

remote: Create a pull request for 'master' on GitHub by visiting:

remote:      https://github.com/xxxx/MyFirstRepo/pull/new/master

remote:

To https://github.com/xxxx/MyFirstRepo.git

 * [new branch]      master -> master

Branch 'master' set up to track remote branch 'master' from 'origin'.


이제 다시 깃허브로 로그인 합니다. txt 파일이 정상적으로 올라가는 것을 확인 했습니다.


축하합니다! 이제 입문 튜토리얼 끝났습니다.


Comments