반응형

앞의 과정에서 github 원격 저장소에 내용을 push하고 원격저장소의 내용을 불러오는 pull과정을 살펴봤다.

 

앞의 과정들은 모두 master branch에서 작업되었다.

 

하지만 프로젝트 작업을 진행하다보면 현재 프로젝트에서 새로운 기능을 넣거나 실험해보고 싶은 내용이 생길 경우가 있다. 이 경우 원본 파일을 수정하게 되면 다시 원점으로 돌아오기 힘든 상황이 발생할 수 있기에 현재까지는 해당 파일을 다른이름으로 복사하여 작업하고 실험해보는 과정을 진행했었다.

 

하지만 Git에서는 이러한 과정을 쉽게 다룰 수 있도록 서비스를 제공한다.

 

Branch가 이러한 내용을 의미한다. 나무에서 가지가 뻗어나가 듯 원본 파일에서 여러 파일들을 뻗어나간다는 의미로 볼 수 있을 것이다.

 

우선 작업환경을 셋팅하자.

디렉토리를 생성한 후 해당 디렉토리에 기존의 master branch에 대한 내용을 불러오자.

나는 test2라는 폴더를 생성한 후 해당 폴더에 master branch의 내용을 불러왔다.

 

 

이제 여기서 Readme.txt파일을 수정한 후 저장하였다.

그리고 추가적은 branch를 생성하기 위해 다음 명령어를 사용하였다.

 

우선 $ git branch 명령어를 통해 현재 어떠한 branch가 존재하는지 알 수 있다.

처음에는 아무런 branch도 생성하지 않았으므로 master branch만 존재하고 branch 생성을 위해

$ git branch another

위의 명령어를 통해 "another"이라는 이름의 branch를 생성하였다.

 

another 이라는 이름의 branch를 생성한 후 제대로 생성되었는지 확인하기 위해

$ git branch  명령어를 다시 입력해보면 위의 그림과 같이 another과 master이 둘 다 출력되고 master에 *표시가 붙은 것을 확인할 수 있다. 즉 현재 master branch 상태의 환경이라는 것이다.

 

$ git checkout another  명령어를 통해 현재 환경을 another branch로 변경해주자.

그럼 커맨드라인의 끝에 ( master ) 로 표시되던 부분이  ( another ) 로 변경되는 것을 확인할 수 있다.

 

그럼 이제 변경된 Readme.txt 파일을 add, commit, push 해주자.

 

 

이 과정은 앞의 과정과 동일하다.

 

그럼 이제 깃허브 저장소로 이동하여 제대로 branch가 생성되고 적용되었는지 살펴보자.

 

변경된 내용이 잘 적용된 것을 확인할 수 있다.

 

반응형
반응형

앞의 내용에서 인터넷의 저장소에 접근하여 로컬 데이터를 업로드(push)하는 과정까지 다뤘다.

 

그럼 깃허브 저장소에 있는 파일을 불러와 수정하고 다시 업로드(push)하는 과정을 진행해보자.

 

우선 새로운 폴더 test1을 생성한 후 git init을 통해 초기화해준다.

 

그럼 이제 해당 txt파일을 수정하자.

원래 아무 내용도 없던 텍스트파일에 임의의 문구를 작성한 후 저장하자.

 

그리고 git status를 확인해보면 다음과 같다.

 

그럼 이제 변경된 파일을 push하여 깃허브 저장소에 업로드하자.

 

그럼 이제 다시 깃허브 저장소로 이동하여 확인하여보자.

 

저장소에서 붉은색으로 표시한 부분을 클릭해보자.

 

그리고 branch들이 표시되는 부분에 master로 설정하면 초기 저장소에 Readme.txt파일을 생성하여 push했을 때, Edit Readme.txt 라는 커밋메시지의 내용을 push했을 때, 그리고 추가적으로 Secondary Edit on Readme.txt 라는 커밋메시지의 내용을 push하였고 모든 history가 확인되는 것을 볼 수 있다.

 

그럼 Readme.txt파일은 가장 마지막에 수정한 내용으로 작성되어 있음을 확인할 수 있다.

반응형
반응형

아래 블로그들을 참고하여 작성하였다.

 

https://blog.naver.com/kdj9502/222199333574

https://blog.weirdx.io/post/816

 

 

가장먼저 깃을 사용하기 위해 아래 사이트로 이동하여 git을 다운로드한다.

 

http://www.git-scm.com/download/win

 

Git - Downloading Package

Downloading Git Now What? Now that you have downloaded Git, it's time to start using it.

www.git-scm.com

 

설치과정은 다음과 같다.(사진은 위의 참고 블로그에 게시된 자료를 사용하였다.)

 

기본 셋팅으로 진행하다가 다음과 같이 편집기를 어떤걸 사용할지 묻는 단계가 나온다.

 

다양한 편집기툴이 있는데 나는 Vim을 사용하지 않고 nano 편집툴을 사용하였다.

vim을 잘 사용하는 사람은 vim이 편하다고 많이 얘기하는데 나는 우분투환경에서도 nano를 많이 사용하였고

vim은 이래저래 단축키들을 사용하여 작업을 해야하는 반면 nano는 어느정도 익숙한 환경이기에 nano로 설정하였다.

위의 내용은 보안서버에 접속하기 위한 방법을 설정하는 것이라고 한다.

기본 설정값인 OpenSSL을 선택하고 진행하였다.

 

위의 내용은 에뮬레이터를 설정하는 부분으로

나의 경우 윈도우 기본 콘솔창으로 설정하였다.

위의 항목에서는 참고 블로그에서 진행한대로 Enable file system caching을 선택하였고

아래 Enable symbolic links는 선택하지 않았다.

새로 추가된 내용들에 대해 (NEW!) 라는 설명으로 항목들을 선택할지 뜨는데

새로생긴 내용들이다 보니 버그가 많을 수 있어 초보자에게는 추천하지 않는다는 설명에 따라

선택하지 않고 진행하였다.

 

그렇게 설치를 진행하면 아래와 같이 시작메뉴에 추가된 것을 확인할 수 있다.

 

그럼 이제 github 저장소에 프로젝트를 load해보자.

생성된 파일 중 Git Bash 프로그램을 실행시킨 후 아래 명령어들을 입력해주자.

 

$ git config --global user.name "Github name here"

$ git config --global user.email "github_account@email.com"

 

우선 test라는 파일을 생성한 후 해당 위치에서

$git init 명령어를 실행한다.

위의 명령어는 이 디렉토리를 로컬 깃 저장소로 지정하겠다는 의미를 갖는다.

 

이 과정을 진행하면 아래와 같이 해당 경로에 숨김파일로 .git 이라는 폴더가 생긴 것을 확인할 수 있다.

 

그럼 이제 pc는 이 디렉토리를 Git-Ready로 인식하여 깃 명령어를 사용할 수 있게 된다.

다음으로 사용된 명령어는 다음과 같다.

 

$ touch Readme.txt

touch 명령어는 create를 의미한다.

 

그리고 $ git status 명령어를 통해 확인하면

현재 master branch에 있으며

아직 커밋된 내용이 없다고 확인된다.

 

untracked로 뜨는 것은 현재 git이 해당 내용들을 무시한다고 볼 수 있다.

그럼 이제 git이 해당 파일에 관심을 갖도록 하기 위해 다음 명령어를 입력하자.

 

$ git add Readme.txt

 

그리고 다시 status를 확인해보면 Changes to be committed 라는 내용과 함께 해당 파일이 확인되는 것을 볼 수 있다.

그럼 이제 해당 파일을 커밋해주자.

 

$ git commit -m "Readme.txt"

여기서 -m 뒤의 " " 안에 들어가는 내용은 커밋메시지라고 하며

어떤 파일에 대한 커밋인지 명확하게 작성하는 것이 좋다고 한다.

이 커밋 메시지를 잘 작성하는 습관이 중요하다고 한다.

명령어의 결과는 좌측 이미지와 같다.

그리고 status를 확인해보면

nothing to commit, working tree clean 이라는

메시지가 출력된다.

 

 

 

 

그럼 이제 해당 환경을 github 저장소에 업로드하자.

 

온라인 저장소에 업로드하기 위해 remote 를 사용하며

origin은 로컬이 아닌 온라인의 주소(origin 뒤에 나오는 주소)를 의미한다.

 

온라인 저장소의 주소는 https://github.com을  입력하고 사용자의 이름을 입력한다.

그리고 저장소의 이름을 입력한 뒤 .git을 입력한다.

그럼 위와 같은 계정확은 과정을 진행하게 되고 Sign in with your browser을 통해

로그인하여 계정확인을 진행하였다.

그럼 위와 같은 창을 확인할 수 있고 그럼 브라우저를 종료해도 된다.

 

위의 명령어는 원격 origin 에 대한 항목을 보여주는 것으로

push와 fetch가 가능한 것을 확인할 수 있다.

 

우선 push는 로컬에 대한 내용을 깃허브상에 업로드하는 과정을 얘기한다.

반대로 fetch는 온라인상의 내용을 로컬로 가져오는 것을 의미하는데

가져오는 명령어로는 fetch와 pull이 존재한다.

 

pull 명령어의 경우 원격 저장소의 소스를 가져오고 가져온 소스를 merge한다고 얘기한다.

merge란 버전을 맞춰주는 과정으로 보이는데 예를들어 원격 저장소의 소스가 현재 내 소스보다 더 최신이라면

지금의 버전을 해당 소스에 맞춰서 올리는 merge를 진행한다고 한다.

반대로 fetch는 merge과정을 진행하지 않는다고 하는데 이는 merge에 대해 조금 더 자세히 알아봐야

정확한 차이를 알 수 있을 것 같다.

 

나는 앞에서 생성한 Readme.txt파일을 온라인 저장소에 업로드 할 것이므로 push 명령어를 사용한다.

저장소의 master branch에 해당 파일이 제대로 업로드 된 것을 확인할 수 있다.

 

 

 

또한 git에 대한 기초적인 내용은 아래의 블로거 분께서 잘 설명해주셨다.

처음 다루는 분들은 한분씩 읽어보면 좋을 것 같다.

https://june98.tistory.com/23

반응형

+ Recent posts