Git
![[Git & GitHub] 브랜치(branch) 병합(merge)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCI2qh%2FbtrnVsUcmQB%2F4s3tGRTqhD3KyoED9fTCX0%2Fimg.png)
[Git & GitHub] 브랜치(branch) 병합(merge)
서로 다른 브랜치에서 작업을 하다가 새로운 브랜치를 기존 브랜치와 합치는것을 병합(merge)라고 합니다. 새로운 저장소를 만들어서 테스트 해보고자 합니다! 저는 이번에는 홈디렉터리에 BranchTest02 라는 디렉터리를 만들어서 저장소로 만들겠습니다! cd ~ git init BranchTest02 cd BranchTest02 ls -la cd ~ 명령을 이용하면 어떤 경로에서든 홈 디렉터리로 이동하게됩니다. 또한 git init 디렉터리명 명령을 사용하면 디렉터리를 만듬과 동시에 저장소로 만듭니다. 이해 만든 디렉터리에 들어가서 ls로 디렉터리의 상태를 확인합니다. 저장소가 잘 만들어 진것을 확인할수 있습니다. 이제 test.txt를 만들고 "1"이라는 내용을 만들어서 저장한후 스테이징하고 "t..
![[Git & GitHub] 브랜치정보확인(새로운 브랜치에서 커밋)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flyjqa%2FbtrnR2WG7aR%2FGKniu90S7Kt4HfKXLZsoDK%2Fimg.png)
[Git & GitHub] 브랜치정보확인(새로운 브랜치에서 커밋)
이전까지의 테스트에서 kh브랜치에 test3으로 커밋한 test.txt가 있습니다! kh 브랜치의 test.txt파일에 "kh content 4"라는 내용을 입력하고 kh.txt파일을 만들고 마찬가지로 "kh content 4" 내용을 추가한뒤 저장해보겠습니다. vim test.txt vim kh.txt 이제 수정되고 새로만들어진 두개의 파일을 스테이징하고 "kh content 4"라는 메세지로 커밋하겠습니다! git add . git commit -m "kh content 4" .은 모든 이라는 의미를 가지며 git add 뒤에 파일명을 쓰면 해당 파일만 스테이징 되었지만 . 을쓰면 수정된 모든 파일이 스테이징됩니다. git log --oneline 로그를 확인해보니 kh 브랜치만 커밋이 되었고 mjc..
![[Git & GitHub] 브랜치(branch) 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHhgMe%2FbtrnR388U8j%2FoCbnJf8rBKoZjkGYymyNxK%2Fimg.png)
[Git & GitHub] 브랜치(branch) 만들기
브랜치는 앞서 고객사를 예로 들어 각기 다른 버전의 사용설명서를 제공해야 할때 사용하는 것으로 필요하다고 했었습니다. 그렇다면 깃에서 브랜치는 어떻게 만들까요? 테스트를 위해 저는 C바로 아래에 BranchTest라는 디렉터리를 만들겠습니다! 디렉터리를 만들고 나서 저장소를 만든후 ls명령을 이용해 .git 디렉터리가 잘 만들어졌는지 확인해보겠습니다. mkdir BranchTest cd BranchTest git init $ls -la 잘 만들어 졌네요! 이번에는 BranchTest 디렉터리 안에 vim을 이용해서 test.txt파일을 만들고 content 1이라는 내용을 입력하겠습니다. vim test.txt 방금 만들 test.txt파일을 스테이징하고 커밋까지 해보겠습니다! 커밋 메시지는 ..
![[Git & GitHub] Branch?브랜치란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFABkI%2FbtrnVr8QQXC%2F1kqKOu48tLBFTwcQgv6dtk%2Fimg.png)
[Git & GitHub] Branch?브랜치란?
모든 버전 관리 시스템에는 '브랜치(Branch)'라는 개념이 있습니다. 브랜치는 나뭇가지와도 같은 형태인데요. 버전 관리 시스템에서는 나무가 가지에서 새 줄기를 뻗듯이 여러 갈래로 퍼지는 데이터 흐름을 가르키는 말로 사용합니다. 브랜치가 뭐길래 나뭇가지라는 단어를 사용할까요? 우리가 어떤 제품의 사용 설명서를 만들고 사용 설명서의 버전관리는 깃으로 한다고 가정해보겠습니다. 제품 출시 전에는 A -> B -> C -> D 와같이 개발 순서에 따라 사용 설명서를 작성하면 됩니다. 하지만 출시된 제품에 문제가 생겨 고객사마다 추가로 요구하는 내용이 다르다면 요구사항을 반영하다 고객사마다 제품이 달라지게 되며 이에 맞춰 사용설명서도 달라져야 합니다. 이에 해결방법으로는 처음 작업했던 저장소 전체를 여러개 복사..
![[Git & GitHub] 작업 되돌리기(checkout, reset)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd8Pdo4%2FbtrnVyfVqA0%2FFBhDKvPGT9kDpxfXnMzBkK%2Fimg.png)
[Git & GitHub] 작업 되돌리기(checkout, reset)
작업을 하고 소스코드가 정상적으로 동작하지 않아 이전버전으로 되돌려야할때 수정한 내용을 하나하나 찾아서 다시 변경하기는 매우 번거롭습니다. 간판단 예제 코드면 또 모를까,, 코드가 길어지면 길어질수록 아주 번거롭겠죠? 이럴 때 checkout 명령을 사용하면 작업트리에서 수정한 내용을 쉽게 취소할수 있습니다. 1. 수정파일 되돌리기(checkout) vim hello.txt 먼저 vim을 이용해 hello.txt파일의 3을 three로 변경하겠습니다. git status status명령으로 확인해보면 hello.txt는 수정되었지만 스테이징 되어있지 않습니다. git checkout -- hello.txt git checkout -- 명령어 뒤에 파일 이름을 적어주면 해당 파일이 이전상..
![[Git & GitHub] 깃허브 방금 커밋한 메세지 수정하기 --amend](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdGuzLu%2FbtrnX0bHSqy%2FBGRaLD00shubek8eLQyehK%2Fimg.png)
[Git & GitHub] 깃허브 방금 커밋한 메세지 수정하기 --amend
커밋한 메세지를 수정하려면 매우 까다로운 절차를 거치게 될수도 있습니다. 그래서 commit과 push를 할때는 신중하게 하는것이 좋은데요. 방금 커밋했는데 커밋메세지를 수정하고 싶으면 어떻게 해야할까요? 우선 결론만 말씀드리면 git commit 명령에 --amend 옵션을 붙이면 됩니다. test를 위해 message.txt파일을 만든 후 test라는 내용을 작성하고 message test라는 커밋메세지와 함께 커밋해보겠습니다. vim message.txt git add message.txt git commit -m "message test" 그런다음 커밋 메세지를 수정하기 위해 --amend속성을 붙여보겠습니다. git commit --amend 왼쪽 상단에 노란글씨로 커밋메세지가 나옵니다. v..
![[Git & GitHub] 깃허브 .gitignore 파일로 버전관리 제외하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb9v0gM%2FbtrnQ6rpGBO%2FDWPymT8S1F33BIfP4yQKf1%2Fimg.png)
[Git & GitHub] 깃허브 .gitignore 파일로 버전관리 제외하기
버전관리를 할때 특정 파일이나 디렉터리가 있다면 .gitignore를 통해 버전관리에서 제외시킬수 있습니다. vim으로 해당 파일을 만들어도 되지만 메모장으로 만들어서 디렉터리 안에 넣어도 상관없습니다. .gitignore파일을 만들어서 그안에 버전관리를 하지 않을 파일이나 디렉터리 이름을 넣고 확장자명을 넣게되면 해당 확장자는 버전관리하지 않게됩니다. vim .gitignore .gitignore 파일을 만들고 aaa.hwp파일, testtest폴더, helloworld.txt파일을 만들었습니다. ls -la 명령으로 폴더를 확인해보면 잘 들어가있네요! 상태를 확인해보면 helloworld.hwp와 testtest디렉터리는 나오지 않습니다. 사실 testtest폴더 안에는 아무 문서도 없기때문에 git..
![Git & GitHub_04 깃허브로 버전 관리하기(add, commit, diff, status, log)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWXA3S%2FbtrnXZDRVkg%2FarfmZ80BDfdrFKUM0UZbSK%2Fimg.png)
Git & GitHub_04 깃허브로 버전 관리하기(add, commit, diff, status, log)
일상속에서 버전이라는 말은 흔히 접할 수 있습니다. 무언가를 만들때 100%완벽하게 만들수도 없을 뿐더러 기술은 하루가다르게 발전을 하기 때문이지요. 소프트웨어 개발에서는 수정 내용이 쌓이면 새로운 번호를 붙여 이전 상태와 구별을 하게 되는데 이런 번호를 통해 구별되는 것을 버전이라고 합니다. 깃을 이용하면 파일의 이름은 그대로 유지하면서 파일에서 무엇을 변경했는지를 변경 시점마다 저장할 수 있습니다. 또 각 버전마다 작업했던 내용들 확인하수 있고 이전 버전으로 되돌아 갈수도 있습니다. 그렇다면 어떻게 깃으로 버전관리를 할까요? 작업 트리(working tree)라는 디렉터리는 파일수정, 저장 등의 작업을 하는 디렉터리입니다. 다른말로 작업 디렉터리라고도 합니다. 만약 GitTest를 git init 명..
![[Git & Github] 깃 저장소 만들기(git init)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb81aSs%2FbtrnP6dIlzy%2Flb2CbgAeqGo2VI1JEukY10%2Fimg.png)
[Git & Github] 깃 저장소 만들기(git init)
깃을 이용하여 버전관리를 하기 위해서는 먼저 저장소를 만들어야합니다. 저장소로 만들고 싶은 폴더로 이동하여 깃을 초기화 하면 해당 폴더를 이용하여 버전관리를 할 수 있게됩니다. 앞서 먼저 만들었던 C드라이브 바로 아래있는 GitTest폴더에 저장소를 만들어 보겠습니다. 해당 폴더에는 앞서 vim명령어와 cat 명령어를 알아보기 위한 test.txt파일만 존재하고 아무 파일이 존재하지 않습니다. ./ 의 의미는 현제 디렉터리이고 ../는 상위 디렉터리를 의미합니다. git init 이번에는 git init 명령을 입력해보겠습니다. git init은 해당 디렉터리를 깃을 사용할 수 있도록 초기화를 해줍니다. 위의 메세지처럼 Initialized empty Git repository ... 라는 명령어..
![[Git & GitHub] 환경 설정하기 git config --global(***please tell me who you are)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFbXNb%2FbtrnXZDRhHB%2F3HLE2LKn8sSEPQ7LibfZrK%2Fimg.png)
[Git & GitHub] 환경 설정하기 git config --global(***please tell me who you are)
깃허브를 설치하고 나면 환경설정을 잘 해주어야 합니다! 환경설정이 되어있지 않거나 오타나 있을경우... commit push할때마다 who are you 라고 깃이 계속 물어보기때문이죠... 깃을 사용할때 사용자 정보를 입력해야 깃이 버전 관리를 해줄수 있습니다! 깃이 버전을 저장할때 사용자의 정보도 같이 저장하기 때문인데요! 사용자 정보를 입력하기 위해서는 윈도우 사용자의 경우 Bash를 맥 사용자의 경우는 터미널을 사용해야합니다! 기본적으로는 git config를 사용하는데 --global을 입력하게 되면 현재 컴퓨터에있는 모든 저장소에서 같은 사용자 정보를 사용하도록 설정하게 됩니다. git config --global user.name "yourname" git config --glob..