📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# GIT (29)

깃(Git) 2018. 5. 15. 23:05

[Git] GitHub란? GitHub 가입하기

GitHub란?GitHub는 Git 원격 저장소 서비스입니다. Git에 대해서 잘 알지 못하는 사람들은 Git과 GitHub가 같다고 생각할 수 있습니다. 그러나 Git과 GitHub는 별개이며 Git을 통해 프로젝트를 진행하면서 저장소를 여러 사람이 공유하고 협업할 수 있는데, 이때 협업을 위해 프로젝트를 공유할 수 있는 네트워크상의 저장공간이 필요하고 이러한 네트워크상의(인터넷) 저장공간을 제공해 주는 서비스 중 하나가 GitHub인 것입니다. 원격 저장소는 인터넷이 아니더라도 사내 사설 네트워크 안에 Git 원격 저장소 서버를 두고 관리할 수도 있으며, GitHub 이외에도 다양한 인터넷 Git 원격 저장소 서비스들이 존재합니다.GitHub의 주목적은 Git 원격 저장소를 서비스 하는 것이지만 그 ..

깃(Git) 2018. 5. 15. 03:00

[Git] 파일 수정한 내용 checkout 직후 또는 가장 최근 커밋 직후로 되돌리기

파일 수정한 내용 checkout 직후 또는 가장 최근 커밋 직후로 되돌리기파일을 저장소에서 워킹디렉터리로 checkout 합니다. 파일의 내용을 수정합니다. 어라? 수정하려던 파일은 bb 파일인데 aa파일을 수정했습니다. 이때 잘못 수정해버린 aa파일의 내용을 checkout 직후의 내용으로 다시 되돌리려면 어떻게 해야 할까요?또는 최근에 소스를 수정한 후 커밋을 했습니다. bb파일을 추가적으로 수정할 부분이 떠올라 수정하려다가 알고보니 aa파일을 수정하고 있다는 사실을 알았습니다. 수정한 내용을 최근 커밋 직후로 되돌리려면 어떻게 해야 할까요?이런 경우에는 git checkout -- [파일] 명령을 사용하는 것입니다. 다음의 예제를 보면 bb파일을 수정하려다가 aa 파일을 수정해 버렸습니다. git..

깃(Git) 2018. 5. 14. 23:59

[Git] 파일 상태를 Staged 에서 Unstaged로 변경하기

파일 상태를 Staged 에서 Unstaged로 변경하기Staging Area는 커밋대상 파일들의 목록으로 담아두는 공간인데, git add 명령을 사용하여 등록합니다. 그런데 다음 커밋에 반영하려던 파일을 실수로 git add 해버리는 경우가 있을 수 있습니다. 이상태에서 git commit을 해버리면 그대로 해당 파일이 Git 저장소에 반영되어 버릴 것입니다.이런 경우 Staging Area에 등록했던 파일을 워킹디렉터리로 되돌리는 방법이 있는데, git reset HEAD 명령을 사용하는 것입니다.다음의 예제를 보면 aa 파일과 bb 파일이 있는데 aa파일은 다음 커밋에 반영하고 이번 커밋에는 bb파일만 반영하려 했습니다만 git add * 명령을 통해 실수로 두 개의 파일 모두를 Staging ..

깃(Git) 2018. 5. 14. 21:55

[Git] git commit --amend 커밋 내용 수정하기

커밋 내용 수정하기Git에서 저장소에 커밋한 직후에야 빼먹은 내용이 생각날 때가 있습니다. 예를 들어 "aa 라는 파일도 커밋에 포함시켰어야 하는데.." 라든가 커밋 메시지를 이렇게 썼으면 안됐는데 라든가 하는 식입니다.이런 경우에는 git commit --amend 명령을 사용합니다.$ git commit --amend--amend 옵션은 Staging Area의 내용을 이전 커밋함과 동시에 이전 커밋내역에 덮어 쓰는데, 커밋 직후에 수정사항 없이 이 명령을 사용하게 되면 사실상 직전에 수행했던 커밋에 내용이 덮어 씌워지면서 커밋 메시지만 수정한 것과 마찬가지의 결과가 됩니다.다음의 테스트 예제에서 첫번째 커밋과 --amend 커밋은 하나의 커밋으로 기록됩니다.$ git commit -m "bb 파일 ..

깃(Git) 2018. 5. 14. 11:06

[Git] git log 명령어 - 커밋 기록 보기

Git 커밋 기록 보기Git에서 커밋 기록을 보고자 하는 경우 git log 명령을 사용합니다.git log 명령을 테스트하기 위해 자바스크립트 jQuery Git 저장소를 clone합니다. 개인이 작업하고 있는 Git 저장소가 있다면 그것을 사용해도 됩니다. 저장소를 myQuery 라는 이름으로 바꿔 clone했습니다.$ git clone https://github.com/jquery/jquery myQueryclone한 mycd 저장소로 이동합니다.$ cd myQuery/git log 기본 사용법git log 명령어로 커밋 기록을 조회합니다. 다음과 같이 지금까지의 커밋 기록들이 쭉 출력되며, 가장 위에 나오는 내역이 가장 최근 내역임을 알 수 있습니다. 기록에는 SHA-1 체크섬, 저자 이름, 저자..

깃(Git) 2018. 4. 26. 03:30

[Git] git mv 명령으로 파일 이름 변경하기

Git 파일 이름 변경하기Git에서 파일명을 변경하고자 하는 경우 git mv 명령을 사용합니다.형식은 git mv [원본 이름] [변경할 이름] 과 같이 사용합니다.$ git mv myFile yourFilegit status 명령으로 상태를 확인하니 파일명 수정 내역이 git add된 상태(Staged)이며, renamed 상태인 것을 알 수 있습니다.$ git statusOn branch masterChanges to be committed: renamed: myFile -> yourFile참고) -s 옵션으로 확인하는 경우 R로 표기됩니다.$ git status -sR myFile -> yourFile파일명 변경 내역을 저장소에 커밋합니다.$ git commit -m '파일명 변..

깃(Git) 2018. 4. 25. 23:30

[Git] git rm 명령으로 파일 삭제하기

Git 파일 삭제하기Git에서 파일을 삭제하고자 하는 경우 git rm 명령을 통해 Tracked 상태의 파일을 제거하여 Untraced 상태로 만들고 제거했다는 내역 자체를 커밋해야 합니다. 말이 복잡하므로 바로 실습으로 들어가 보겠습니다.다음의 myFile은 저장소에 커밋되어 있는 파일이며, 삭제하기 위해 git rm 명령을 실행했습니다.$ git rm myFilerm 'myFile'myFile이 삭제되었다는 내역이 Staging Area에 추가 되었습니다.이것은 마치 워킹 디렉터리에서 파일을 수정한 후 git add 명령을 실행해서 변경 내역이 Staging Area에 추가된 것과 같습니다. rm 명령을 실행하면 워킹 디렉터리의 해당 파일을 삭제 후에 파일이 삭제 되었다는 내역을 Staging Ar..

깃(Git) 2018. 4. 25. 20:30

[Git] git commit 명령어를 통한 변경사항 커밋하기

이전글[Git] Git 상태 확인하기 - git status 명령어 및 상태 파헤치기!작업한 내용 커밋하기git commit 명령어는 Git을 사용하면서 빈번하게 사용되는 명령어 중 하나입니다.git commit 은 워킹 디렉터리에서 작업한(변경된) 내용을 Git 저장소에 반영할 때 사용합니다. 단 git add 명령으로 Staging Area에 추가하지 않은 파일은 커밋되지 않습니다. 다시 말해 git commit은 Staging Area에 등록된 대상들만 저장소로 Commit하며, 워킹 디렉터리에서 파일을 수정했다고 하더라도 git add 명령어를 통해 Staging Area에 추가하지 않은 대상은 Commit 하지 않습니다.그러나 번거로움을 제거하고자 옵션을 통해 Staging Area를 거치지 않..

깃(Git) 2018. 4. 25. 16:51

[Git] git diff 명령어를 통한 변경 내용 보기

워킹 디렉터리와 Staging Area 의 차이점 보기파일의 단순 변경 내역이 아닌 어떤 내용이 변경되었는지 차이점을 알기 위해서는 git diff 명령어를 사용해야 합니다. git status 명령어로는 파일의 상태정도만 (Staged인지 Untstaged인지) 알 수 있지만 git diff 명령을 사용하면 조금 더 자세한 변경 내용을 알 수 있습니다.git diff 명령은 워킹 디렉터리와 Staging Area 사이의 비교가 가능할 뿐만 아니라 Staing Area와 Commit된 내역 사이의 비교 또한 가능합니다. 다음의 실습을 통해 사용법을 알아보겠습니다.다음은 방금 막 생성한 Git 저장소이며, README 파일을 하나 생성합니다.$ echo '이것은 README 파일' >> README$ ca..

깃(Git) 2018. 4. 21. 16:44

[Git] Windows 환경 Git에서 줄바꿈 문자(CRLF) 관련 설정

Windows 환경에서 Git Bash 줄바꿈 문자팀 단위로 개발을 하게 되는경우 각자 개발환경이 다를 수 있습니다. 대한민국 개발자의 경우 거의 대부분은 Windows 운영체제 환경을 사용하며, 일부는 리눅스나 MacOS를 사용하기도 합니다.소스나 텍스트 문서를 작성할 때 Windows 환경에서는 줄바꿈이 일어나는 경우 CR(Carriage-Return) 과 LF(Line Feed) 가 같이 사용돼 커서를 줄의 처음으로 옮기고 줄을 한 줄 내리게 되고, Linux와 MacOS는 LF만을 사용하여 줄을 바꾸게 됩니다.따라서 Windows 개발자가 Git 저장소에 올린 파일을 Linux, Mac 개발자가 내려받게 된다거나, 반대로 Linux, Mac 개발자가 올린 파일을 Windows 개발자가 내려받게 되..