gitcmd 7

github#13 git rebase 충돌해결

다른사람과 협업을 할 때에 Remote Repository 에 있는 소스코드는 어지간 하면 rebase 하지 않도록 주의하자. 만약 본인 것의 코드만 업데이트 혹은 rebase 하고 싶다면 먼저 git pull로 최신버전의 코드를 Remote Repository 에서 받아서 working directory 에서 작업을 commit 하면서 rebase 를 하도록한다. 모든 작업이 다 마친후에 git push를 해서 Remote Repository 에 코드를 업데이트 하면 좋을 것 같다. 충돌이 나는 상황을 만들어 보자. 1. [Master Branch] a.txt 파일을 commit 한다. - 첫번째 commit 파일 내용 aaaa % vi a.txt % git add a.txt % git commit -..

DevOps/GIT 2020.11.26

github#12 git rebase 기초

ref : www.perforce.com/blog/vcs/git-rebase-vs-merge-which-better Git Rebase vs. Merge: Which Is Better? | Perforce Software Compare Git rebase vs. Git merge to determine which is better. www.perforce.com git merge가 git rebase 보다 더 안전한 방법이다. 그러므로 깃에 어느정도 익숙해진 사람, 꼭 이 기능을 필요로 하는 사람에게만 사용을 권장한다. git merge 와 git rebase 의 차이점에 대해 알아보자. 위의 링크에서는 이렇게 설명한다. Git merge is a command that allows you to merg..

DevOps/GIT 2020.11.26

github#8 git stash

내가 현재 여러 브랜치를 가지고 작업을 하고 있으나 내가 작업하는 브랜치 working directory에서 작업 중에 작업을 다 마치지 못했을 경우 commit을 할 수 도 없고 그렇다고 그냥 남겨 둔 채로 다른 브랜치로 체크아웃을 하면 다른 브랜치에서 작업한 내용이 다른 브랜치에 영향을 준다 git status 로 확인할 수 있다. 이럴 때 사용할 수 있는 명령어가 stash 이다. NAME git-stash - Stash the changes in a dirty working directory away SYNOPSIS git stash list [] git stash show [] [] git stash drop [-q|--quiet] [] git stash ( pop | apply ) [--ind..

DevOps/GIT 2020.11.20

github#7 3 ways merge

git merge에서 conflict 가 발생하면 쉽게 수정할 수 있는 툴이 있다. - kdiff3. Google 에 검색하면 download 가능 하니 필요한 분은 검색 해 보길 바란다. 그리고 다양한 사람과 협업을 하기 때문에 다른이와 작업을 merge하는 방법을 알아보자. 여기에는 2가지 방식이 있는데 2 way merge 3 way merge 3 way merge 방식이 더 안전하고 적은 conflict 을 발생하는 방법이라 할 수 있다. 예를 들어 A 개발자, B 개발자가 각자의 브랜치에서 동시에 작업을 수행한 후 병합하고자 한다면 아래와 같은 표로 표현 할 수 있다. 예를 들어 A file : contents 는 파일명은 A 안에 내용은 contents 라고 볼 수 있고 C file 같은 경우..

DevOps/GIT 2020.11.20

github#5 git HEAD file

gistory 를 실행한 후 **NOTE : 아래 링크를 클릭하면 gistory 에 관한 전반적 내용이 있습니다. [IT/DevOps] - github#3 : gistory and git rm git init을 하게 되면 볼 수 있는 파일이 ./.git/HEAD 이다. ./.git/HEAD 은 ./.git/refs/heads/master 을 가르킨다. ./.git/refs/heads/master 은 가장 최신 commit ID 를 확인할 수 있다. 여기서 git log 가 작동하는 원리를 알 수 있다. git log 는 가장 최신 commit 을 상단에 보여주게 되는데 이는 git이 내부적으로 ./.git/HEAD 라는 파일을 가지고 있고 이 파일은 ./.git/refs/heads/master 을 가르킨..

DevOps/GIT 2020.11.20

github#4 branch

version 관리와 팀 단위의 일을 할 때 필요한 개념이 Branch 이다. 1. git branch 기본 Branch 는 Master 인데 최근에는 Main 인 경우도 있다. % git branch * master % git branch javaDonbina % git branch javaDonbina * master % git checkout javaDonbina Switched to branch 'javaDonbina' % git branch * javaDonbina master 새로운 브랜치에 업로드 할 파일 4개를 로컬 repo에 옮긴후 commit 을 해본다 % ls -ltr total 40 -rw-r--r-- 1 alice staff 610 16 Nov 16:33 Tutorial03.jav..

DevOps/GIT 2020.11.17

github #1 github init, log, diff, add, status, commit

1. github MAC 설치 처음 homebrew 를 이용해서 github을 다운로드 한다. 그 후 git 명령어 중 하나를 쳤는데 발생한 에러. stackoverflow를 뒤져서 해결방법을 찾음 git 설치 완료 ! 2. git init 내 로컬 머신에 Repository 하나를 만들고 그 후에 git init 을 설정. .git 파일은 버전 컨트롤에 있어서 중요한 파일이다. git init [디렉토리 이름] 은 git 저장소를 만드는 것이라 할 수 있다. 3. git status and git add 로컬에 있던 파일들을 새로만든 깃헙 프로젝트 디렉토리에 넣고 난 후에 git 상태 git add 는 스테이지위에 파일 혹은 디렉토리를 올려주는 것 stage : commit 대기 상태의 파일들이 있는 ..

DevOps/GIT 2020.11.15