안경잡이개발자

728x90
반응형

  깃(Git) 프로젝트에서는 README.md 파일을 이용해 소개글을 작성할 수 있습니다. md는 마크 다운(Markdown)의 약자이며 최근 굉장히 다양한 분야에서 사용되고 있는 텍스트 양식입니다. 매우 빠르게 핵심적인 내용을 작성하는 편집 양식이라는 점에서 깃 허브(Git Hub) 또한 공식적으로 이를 채택하고 있습니다. 


  이번 시간에는 우리의 깃 저장소에서 README.md 파일을 생성하여 프로젝트 소개글을 작성하는 방법에 대해서 소개하고자 합니다.



  위와 같이 README.md 파일을 작성하여 간단히 샵(#)을 붙여 글머리를 작성해 봅시다. #은 글머리를 작성할 때 사용합니다. 



  이제 이러한 내용을 푸시(Push)해서 확인해보도록 합시다.



  성공적으로 소개글 정보가 깃 허브(Git Hub)에 들어간 것을 확인할 수 있습니다.


  마크 다운은 정말 편집(Edit)을 쉽게 할 수 있는 도구입니다. 다음과 같은 예제들도 확인해 봅시다.


# 글머리


소스코드 블록은 다음과 같이 작성할 수 있습니다.


```c

#include <stdio.h>


int main(void) {

  printf("Hello World!");

}

```


링크는 다음과 같이 작성할 수 있습니다.


[블로그 주소](https://blog.naver.com/ndb796)


순서 없는 목록은 다음과 같이 작성할 수 있습니다.


* 깃 강좌

  * 깃 Clone

  * 깃 Pull

  * 깃 Commit

    * 깃 Commit ①

    * 깃 Commit ②

  * 깃 Push


인용 구문은 다음과 같이 작성할 수 있습니다.


> '공부합시다.' -나동빈-


테이블은 다음과 같이 작성할 수 있습니다.


이름|영어|정보|수학

---|---|---|---|

나동빈|98점|87점|100점|

홍길동|97점|78점|93점|

이순신|89점|93점|97점|


강조는 다음과 같이 할 수 있습니다.


**치킨** 먹다가 ~~두드러기~~났어요. ㅠㅠ



  푸시(Push) 이후에는 다음과 같은 결과를 확인할 수 있습니다.



728x90
반응형

728x90
반응형

  깃(Git)을 활용하다 보면 자신이 수행한 다양한 작업(Commit)을 되돌리고 싶을 때가 있습니다.



  기본적으로 특정한 Git Hub의 저장소와 동일한 프로젝트를 가지도록 git pull 명령어를 수행해 봅시다. git pull 명령어는 원격지에 있는 소스코드를 우리 컴퓨터에 그대로 가져오고, 자동으로 merge까지 수행해주는 명령어입니다. 저는 이미 Git Hub의 소스코드와 제 컴퓨터의 소스코드가 정확히 일치하기 때문에 별도로 바뀐 사항이 없다는 메시지가 출력됩니다.


※ 특정 지점으로 프로젝트 자체를 되돌리기 ※


  특정한 지점으로 프로젝트 자체를 되돌리는 방법을 소개해드리겠습니다. 일단 기존에 있는 특정한 소스코드를 수정해보세요. 저는 하나의 함수를 추가해보았습니다. 제가 추가한 함수는 mul() 함수에요.



  이후에 다음과 같이 수정된 내역을 반영해보도록 하겠습니다.



  결과적으로 푸시까지 한 번 진행해 보았습니다. 커밋 및 푸시 내역은 git log 명령어를 통해서 확인할 수 있어요.



  저는 예전에 커밋(Commit)이 진행되었던 위치로 돌아가고자 합니다. 이 때 사용할 수 있는 명령어는 git reset 명령어입니다. 특정한 지점의 해시 값을 그대로 복사하여 git reset --hard 명령어로 돌아가도록 하겠습니다. 이 경우 돌아간 지점의 이후 내역은 증발해버리게 됩니다.


  이처럼 돌아간 지점의 이후 내역들은 완전히 지워버리고자 한다면 hard 옵션을 사용할 수 있습니다. 또한 만약에 돌아간 이후의 내역들을 남겨놓고자 한다면 soft 옵션을 사용할 수 있습니다. 기본 옵션은 mixed 옵션으로, mixed 옵션을 사용하면 돌아간 이후의 변경 내역들은 남아있지만 인덱스 값들이 모두 초기화됩니다.



  실제로 특정한 지점으로 돌아가보았습니다.



  정말 그 당시 커밋했던 것과 동일한 프로젝트 구성으로 돌아가게 되었습니다. 이 경우, 우리 로컬 컴퓨터에서의 프로젝트 구성이 Git Hub 저장소의 구성과 다르게 됩니다. 그래서 푸시(Push)를 진행하려고 해도 오류가 발생합니다. 이 때는 -f 옵션으로 강제로 푸시를 할 수 있습니다.



  이처럼 강제로 푸시를 하게 되면 Git Hub 저장소에서도 완전히 특정한 지점으로 프로젝트가 되돌아간 것을 확인할 수 있습니다.


  이제 한 번 커밋 메시지를 변경하는 방법에 대해서 알아보도록 하겠습니다. 다음과 같이 저는 하나의 함수를 추가해서 커밋을 해보았습니다.




  이후에 하나의 함수를 추가적으로 더 만든 상황이 되어 커밋 메시지를 변경하고자 한다고 가정해봅시다. 저는 sub() 함수를 추가했어요.



  이 때는 git commit --amend 명령어를 사용할 수 있습니다.



  그러면 자동으로 에디터가 열려서 커밋 메시지를 수정할 수 있어요. 저는 첫 번째 줄의 커밋 메시지를 바꾼 뒤에 저장했습니다.



  이후에 다시 git push을 진행하여 변경된 커밋 메시지가 반영된 것을 확인할 수 있습니다.



728x90
반응형

728x90
반응형

  이번 시간에는 소스코드를 수정해서 Git 저장소에 반영하는 방법에 대해서 알아보도록 하겠습니다. 이전 강좌에서는 깃 허브(Git Hub)에서 하나의 저장소를 생성하여, 초기 프로젝트 구성을 올리는 방법에 대해서 알아보았습니다.


  소스코드를 수정해서 Git 저장소에 반영하는 방법도 이전 시간에 배웠던 내용과 거의 동일하다고 보시면 됩니다. 일반적으로 소스코드를 수정하는 것은 두 가지 사례로 나뉘게 됩니다.


① 해당 프로젝트에 소속된 사람이 아닌 경우


  만약 우리가 특정한 커뮤니티(Community)의 구성원이 아니라서 스스로 커밋을 하여 저장소에 적용할 권한이 없다면, 소스코드를 수정하는 것에 제약이 있습니다. 이런 경우 PR(Pull Request)를 작성하여 오픈소스에 기여할 수 있습니다.


  이 경우는 우리가 큰 오픈소스 프로젝트의 구성원으로 참여하고 싶을 때 사용하는 방법입니다. PR에 수정 사항 등을 담아서 전송하면, 해당 오픈소스의 관리자가 이를 허용했을 때 실제로 오픈소스에 반영이 될 수 있습니다.


② 해당 프로젝트에 소속된 사람인 경우


  자신이 해당 프로젝트에 대한 권한을 가지고 있으므로 그냥 커밋(Commit)하고 푸시(Push)해서 저장소에 수정 내역을 반영하면 됩니다.


※ 소스코드 수정하여 Git 저장소에 반영하기 ※


  우리는 초보자이므로, ②번 케이스를 따라서 우리가 만든 깃 저장소에 수정된 내역을 반영하는 방법에 대해서 알아보도록 하겠습니다.


  


  저는 위와 같이 이전에 실습을 위해 만들었던 깃 허브 저장소를 확인해보겠습니다.


  


  깃 허브 주소가 https://github.com/ndb796/Git-Study입니다.


  


  실습을 위해 특정한 폴더를 생성하여 그 폴더로 클론(Clone)을 받아보겠습니다. 말 그대로 프로젝트 폴더를 다운로드 받겠다는 소리입니다.



  그러면 위와 같이 다운로드가 완료됩니다.



  이제 소스코드를 수정해보겠습니다. 위와 같이 하나의 파일을 만들어서 add() 함수를 작성해 볼게요.



  이후에 git add 명령어를 이용해 우리가 수정한 파일을 Staging Area에 올릴 수 있습니다. git status 명령어를 입력하면 현재 프로젝트의 상태를 확인할 수 있습니다. 새로운 파일(New File)로 하나의 소스코드가 등록된 것을 확인할 수 있습니다.



  Staging Area에 올린 파일을 다시 내리고자 한다면 git reset 명령어를 이용할 수 있습니다. 이후에 git status로 상태를 확인해 보면 my_module.py 파일이 제외된 것을 확인할 수 있습니다. 더불어 커밋할 파일은 없다는 메시지가 출력됩니다.



  아무튼 실습을 위해 일단 작성된 파일을 커밋해보도록 합시다. 커밋 이후에는 성공적으로 하나의 커밋이 완료되었다는 메시지가 출력됩니다. 이제 이를 git push 명령어로 깃 허브의 저장소로 변경된 내역을 반영할 수 있습니다.



  성공적으로 반영이 완료되었습니다. Git Hub 주소로 가보시면 이를 확인할 수 있어요.



  이제 한 번 하나의 함수를 더 추가해 보겠습니다.



  단순히 함수를 추가한 이후에 git status 명령어를 입력해 보시면 수정만 이루어진 파일이 존재한다는 메시지가 출력됩니다.



  특정 파일에 대해서 수정한 내역을 무시하고, 다시 저장소에 기록된 내용으로 되돌리고자 할 때는 git checkout -- 명령어를 이용할 수 있습니다.



  git checkout 명령어를 이용한 이후에 다시 파일을 확인해 보시면 위와 같이 소스코드가 원래 상태로 돌아온 것을 확인할 수 있습니다.



  저는 다시 sub() 함수를 추가하여 커밋을 진행해보도록 하겠습니다.



  git add . 명령어로 프로젝트에서 변경된 모든 소스코드를 Staging Area에 올렸습니다. 이후에 git push 명령어로 소스코드를 실제 Git Hub 저장소에 반영한 것을 확인할 수 있습니다.



728x90
반응형