d드라이브로 경로를 이동합니다
d드라이브 내 폴더로 이동하려면 폴더 이름 앞에 cd 를 씁니다
(드라이브와 폴더 이동 방법이 각각 다름을 인지하세요)
상위 폴더로 가려면 "cd .."라고 입력합니다
d 드라이브 내 HelloGit이라는 이름의 폴더를 새로 만듭니다
HelloGit 폴더의 정보를 출력합니다
HelloGit 폴더로 진입합니다
exam01이라는 txt 파일을 생성합니다
exam01.txt를 실행합니다
실행한 파일에 "test1" 이라고 입력한 후, txt파일을 종료합니다
다시 dir을 입력하면 0이던 파일 용량이 달라진 것을 확인할 수 있습니다
현재 위치(HelloGit)를 git 저장소로 설정합니다
git 저장소로 설정된 HelloGit 폴더의 현재 상태를 출력합니다
최근 수정한 exam01.txt가 붉은색으로 표시되는 것을 확인할 수 있습니다
수정한 파일인 exam01.txt를 에 저장시킵니다
수량이 많은 경우 git add * 라는 명령어로 한꺼번에 저장시킬 수 있습니다
커밋을 진행합니다
'file added 19.6.13'은 기록용이므로 마음대로 기재해도 됩니다
이 과정을 끝낸 후 다시 git status를 입력하면 'nothing to commit, working tree clean'라고 출력되는 것을 확인할 수 있습니다
로그를 확인하면, 숫자와 알파벳으로 이루어진 코드를 가진 로그가 생성된 것을 확인할 수 있습니다
D:\HelloGit>git init
Initialized empty Git repository in D:/HelloGit/.git/D:\HelloGit>git status
On branch masterexam01.txt
D:\HelloGit>git add exam01.txt
D:\HelloGit>git commit -m "file added 19.6.13"
[master (root-commit) 4d6ebc3] file added 19.6.13D:\HelloGit>git status
On branch masterD:\HelloGit>git log
commit 4debc3220267bcd1296adf4544b (HEAD -> master)"4debc3220267bcd1296adf4544b"는 log의 키값입니다
식별을 할 때는 "4debc3"와 같이 앞 6글자만 추려도 가능합니다
Author: 000 000@gmail.com아이디를 입력합니다
유저 네임을 입력합니다(아무거나 입력해도 됩니다)
그리고 아래 화면이 뜨면 로그인 합니다
D:\HelloGit>git config --global user.email "00@gmail.com"
D:\HelloGit>git config --global user.name "000"
리파지트리 메뉴를 클릭합니다
new를 눌러 새 리파지트리를 만듭니다
리파지트리 이름을 쓰고, README란을 체크하고, 생성 버튼을 누릅니다
아래처럼 만들어진 리파지트리를 확인할 수 있습니다
이 리파지트리를 삭제하려면 setting 메뉴를 누릅니다
맨 아래로 내려서 Delete버튼을 클릭합니다
리파지트리 이름을 정확히 기재한 후 삭제버튼을 누릅니다
리파지트리의 주소를 복사합니다
cmd창에서 파일을 받을 경로로 이동한 후, 해당 명령어를 입력합니다
clone 자리에 pull이 들어가도 무방하나, 최초 다운로드를 할 때는 clone이 더 편리합니다
pull은 따로 폴더를 만들어 놓고 다운로드 해야 하지만, clone은 폴더 째로 복제되기 때문입니다
내려받은 리파지트리(폴더)의 경로로 이동해, 해당 폴더를 저장소로 선언합니다
exam02.txt라는 임의 폴더를 만들어 수정 작업을 해 봅니다
상태를 확인하면, 커밋해야 할 목록이 뜹니다
스테이징 합니다
커밋합니다
C:\Users\auswo>cd C:\Test
C:\Test>git clone https://github.com/zzz/Git-to-Hell.git
Cloning into 'Git-to-Hell'...C:\Test\Git-to-Hell>git init
Initialized empty Git repository in C:Test\Git-to-Hell.git/C:\Test\Git-to-Hell>copy nul exam02.txt
1개 파일이 복사되었습니다.C:\Test\Git-to-Hell>exam02.txt
C:Test\Git-to-Hell>git status
On branch masterexam02.txt
C:Test\Git-to-Hell>git add *
C:Test\Git-to-Hell>git commit -m "19.6.13"
[master (root-commit) 3f6f60d] 19.6.13생성된 리모트 목록들을 확인합니다
리모트는 복수로 생성될 수 있으며, 각각 다른 계정에 연결 가능합니다
리모트가 없다면 리모트를 생성합니다
pull 과정을 거치지 않고 push를 하면 오류가 나기 때문에, 마스터 브랜치를 끌어오는 과정을 거칩니다
origin은 리모트 이름이며, 꼭 origin이어야 할 필요는 없습니다
이 과정에서 종종 'fatal: refusing to merge unrelated histories' 오류가 뜰 수 있습니다
수정사항 병합 오류인데, 간단히 '--allow-unrelated-histories' 라는 강제 명령어로 병합해 줍니다
pull이 끝나면 push해 줍니다
C:\Users\Test\HelloGit>git push https://github.com/000/Git-to-Hell.git
//무작정 push해서 실패한 결과입니다
fatal: The current branch master has no upstream branch.C:\Users\Test\HelloGit>git remote add origin https://github.com/000/Git-to-Hell.git
//리모트를 생성합니다
C:\Users\Test\HelloGit>git remote -v
리모트 목록을 확인합니다
origin https://github.com/000/Git-to-Hell.git (fetch)C:\Users\Test\HelloGit>git pull origin master
//pull을 시도했지만 병합 오류가 출력됩니다
warning: no common commitsC:\Users\Test\HelloGit>git pull origin master --allow-unrelated-histories
--allow-unrelated-histories로 강제 병합해 줍니다
From https://github.com/000/Git-to-Hell이제 push해도 되는 상태가 되었습니다
C:\Users\Test\HelloGit>git push origin master
해당 리모트에 파일을 push합니다
Enumerating objects: 6, done.gitHub.com의 본인 리파지트리에 가서 파일이 모두 업데이트 되었음을 확인할 수 있습니다
먼저, 원본 리파지트리 소유자의 주소로 갑니다
그 다음 Fork를 눌러 자신의 리파지트리 로 원본 리파지트리를 복사해 갑니다
내 리파지트리에 복사된 파일을 내 pc에 받아 수정하는 과정은 위에서 설명한 과정과 동일합니다
내용물 수정 뒤, 모든 커밋 과정을 마치고 내 리파지트리 에 결과물을 올립니다
그 후, 내 리파지트리 에서 pull Request 버튼을 클릭합니다
create new pull Request 버튼을 클릭합니다
create pull Request 버튼을 클릭합니다
리퀘스트가 요청되면, 원본 소유자가 확인 후 커밋 혹은 거부를 합니다
수정되기 전, 수정되기 후 코드를 비교해서 확인할 수 있습니다
이 화면은 내가 보낸 pull request에서도 동일하게 나옵니다
붉은색으로 표시한 곳을 기준으로 merge되지 않은 수정사항이 모두 나타납니다
이들 중 최종 수정한 내용만 남기고 모두 지워주시면 됩니다
(수정 전)
(수정 후)
모든 작업이 끝났으면 수정 사항을 커밋한 후 push 합니다
----------------------명령 프롬프트------------------------
▲ 이 부분을 보면 어떤 파일에 에러가 났는지 알려줍니다
Auto-merging README.md제어판을 열어 표시된 경로를 따라 갑니다
삭제 후, 평소와 같이 수정작업을 합니다
그리고 push 명령을 내리는 순간, 새로 로그인 창이 뜹니다
로그인 후 작업을 마무리하면 되겠습니다
상위 폴더로 이동
디렉토리(폴더) 만들기
폴더 삭제하기
디렉토리 내용을 보여라
일부 폴더명만 입력하고 Tab을 누르면 자동완성
파일을 만드는 명령
파일을 삭제하는 명령
로그를 위에서부터 2개만 보여라
해당 시점의 로그로 돌아가라
(키값은 처음 6자리만 입력해도 무방)
다시 로그 되돌리기, 살려내기
특정 시점의 로그에 있는 특정 파일만 가져오기
완전히 특정 시점의 로그로 돌아가기
checkout master와의 차이 : HEAD는 여전히 master를 가리키고 있음
reset은 시점을 돌리는 것
강제로 특정 시점으로 돌아가며, 이전 로그는 모두 삭제한다
히스토리가 남아있다는 것을 전제로 한 복구 기능
연결된 리모트 목록 출력
리모트 연결 삭제
이 질문은 '울지 않는 새를 어떻게 할 것인가'에 관한 오다 노부나가, 도요토미 히데요시, 도쿠가와 이에야스의 답입니다. 울지 않는 새는 쓸모없으니 죽이겠다고 답한 이는 오다 노부나가 입니다. 오다 노부나가는 무자비하고 다혈질이면서도 계산적이고, 매우 실용적인 인물이었습니다. 편견이 없고 안목 또한 탁월했으며, 천재적인 전술 실력에 무기 개발에도 능했습니다. 오다 노부나가의 성향을 단적으로 보여주는 예가 있습니다. 세력을 일으켜 교토를 점령했을 때, 오다 노부나가는 쇼군과 가신들을 모조리 죽였습니다. 그런데 그 중 황실 출신 요리사가 있었습니다. 이 요리사는 실력도 최고였을 뿐더러 쇼군가의 사람이 아니었기 때문에 살려두자는 여론이 강했습니다. 그러자 오다 노부나가는 요리사에게 요리를 시켰습니다. 요리 솜씨를 직접 확인한 후 괜찮으면 살려주고 그렇지 않으면 죽이기 위해서였습니다. 엄청난 카리스마의 소유자로, 남에게도 엄격하고 스스로에게도 강했던 노부나가는 말년에 부하에게 하극상 당해 비참한 최후를 맞이하게 됩니다.
이 질문은 '울지 않는 새를 어떻게 할 것인가'에 관한 오다 노부나가, 도요토미 히데요시, 도쿠가와 이에야스의 답입니다. 새를 울게 할 방법을 찾는다고 답한 사람은 도요토미 히데요시입니다. 도요토미는 오다 노부나가가 죽자 권력의 핵심으로 떠오른 인물입니다. 당시 오다 노부나가의 심복이자 최대 경쟁자였던 도쿠가와 이에야스마저 굴복시키고 승승장구 합니다. 오다 노부나가가 그토록 바라던 전국 통일까지 이뤄냈습니다. 도요토미 히데요시는 천재적인 지략가였고 타고난 정치가였습니다만, 그만큼 타협도 잘 했습니다. 도요토미 히데요시의 정치적 승부수이자 자충수였던 임진왜란에 관해서도 다른 해석을 할 수 있습니다. 도요토미 히데요시는 전국 통일을 하는 과정에서 예수회 신부들에게 무기를 보급받았고, 그 자신은 신자를 약속했습니다. 하지만 막상 전국 통일 후 가톨릭 신자들이 늘어나자, 도요토미 히데요시는 위협을 느낌과 동시에 자신의 입지를 지킬 필요성을 느끼게 됩니다. 그래서 조선 정벌을 명분삼아 일으킨 것이 임진왜란입니다. 가톨릭으로 개종한 세력들을 모조리 외국 땅으로 파병보내 죽여버리고자 한 것입니다. 물론 이는 하나의 해석일 뿐, 역사적 사실에 관해서는 의견이 분분합니다. 어쨌든 땅이 늘어나면 가신들에게 나누어 줄 토지도 생기니 일거양득이었을 겁니다. 하지만 계획은 생각처럼 진행되지 않았고 도요토미 히데요시는 임진왜란 중 사망합니다. 설상가상으로 도요토미 히데요시는 죽자마자 권력을 빼앗깁니다. 그 후 한낱 전범 취급을 받으며 무덤이 폭파되는 등 치욕적인 일을 당하게 됩니다.
이 질문은 '울지 않는 새를 어떻게 할 것인가'에 관한 오다 노부나가, 도요토미 히데요시, 도쿠가와 이에야스의 답입니다. 새가 울 때까지 기다린다고 한 사람은 도쿠가와 이에야스입니다. 도쿠가와 이에야스는 나쁘게 말하면 우유부단하고, 좋게 말하면 인내심이 강했습니다. 오다 노부나가의 심복으로 지내며 그의 명령에 따라 자신의 장남과 배우자를 죽일 정도로 충성심 또한 컸습니다. 오다 노부나가 사후 도요토미 히데요시가 권력을 잡자 일선에서 물러나 철처히 권력욕을 숨기며 도요토미 히데요시의 감시에 동조하기도 했습니다. 밖에서는 오랫동안 아무것도 하지 않은 것처럼 보였지만, 도쿠가와 이에야스는 도요토미 히데요시가 임진왜란에 정신이 팔려 있는 동안 일본 내 자신의 입지를 강화합니다. 그리고 도요토미 히데요시 사후 권력을 거머쥐며, 센코쿠 시대 최후의 승리자로 자리매김합니다. 당신이 비범한 사람에 인내심이 강하다면 도쿠가와 이에야스와 같은 영광을 맞이하게 될 겁니다. 하지만 야망보다 사사로운 인맥에 사로잡혀 우유부단함을 버리지 못한다면 제갈량을 곁에 두고도 나라를 망국으로 만든 유비와도 같은 신세가 될 것입니다. 사실 도쿠가와 이에야스의 유산도 촉나라와 별로 다를 게 없습니다. 도쿠가와 이에야스가 세계 정세를 파악하지 못하고 쇄국정책을 편 탓에, 에도 막부는 서양 문물로 무장한 메이지 정부군에게 멸망하게 됩니다.