개발자의 필수 항목 , 버전관리 , 협업 툴 등으로 개발자라면 반드시 알아야하는 버전 관리 , 협업 체계 입니다 !
장점 (깃을 배워야하는 이유 )
- 버전관리 깃을 이용하면 프로젝트 내 문서의 수정 이력을 체계적으로 관리할 수 있다.
- 여러 사람이 하나의 프로젝트를 함께 수행할 떄 하나의 저장소를 기반으로 자신만의 개발 버전을 관리할 수 있어 협업에 도움이 됩니다.
USB , 메일 송수신이 필요가 없죠!
특히 문서하나 가지고 문서의 다양한 버전을 잃지 않고 관리할수 있다 ! 위와 같이 하나의 문서에 여러가지 버전이 있는데 이것들을 관리할수 있다는 뜻이예요 수정 이력을 관리 할수 있습니다.
여기서 잠깐! 깃허브는 깃 사용자들을 위해 편의를 제공하기 위해 존재하는 하나의 플랫폼입니다.
깃을 사용하는 방법은 많지만 Command-Line interface,CLI) 를 사용하는 방법입니다.
이는 사용자가 약속된 명령어를 입력하면 시스템이 이를 수행하는 방식입니다.
사용 전 해야할 것
- [다운로드] 우선 Mac 사용하는 터미널에 $brew install git 입력 하기 하여 다운로드해주기 ! (참고:https://git-scm.com )
- Local에 폴더 만들기 ! 저는 gitpractice 로 만들었습니다.
터미널을 열고 git
입력 -> git 이 잘 다운로드 되었는지 확인 가능해요clear
입력시 터미널이 꺠끗해집니다 .git config --global user.name "<입력>"
git config --global user.email"<입력>"
git config user.name
으로 잘 입력되있는지 확인 가능합니다 !git config user.email
도 마찬가지입니다.ls
내 폴더에 있는 리스트 출력!git init
빈 레파지 토리를 생성합니다.ls -al
: 숨은 폴더까지 모여줍니다.
git 의 Working Directory 로 수정 사항을 추적 합니다.
- untracked file : 이제 막 생성된 파일로 , 추적이 되고 있지 않은 상태.
- unmodified file : 추적 중인 파일이나, 딱히 수정 사항이 없는 상태.
- modified file : 추적 중인 파일이며, 수정 사항이 감지된 상태.
이렇게 세가지로 나눕니다.
git 을 이용한 프로젝트 버전 관리란 문서의 작업 이력을 쌓아 나가기 위해 git 명령어로 내가 만든 파일의 상태와 영역을 변경하는 작업을 뜻합니다.
예를들면 과거의 특정 시점으로 변경하거나 , 이력 간의 변경 사항을 모니터링 하는 등 다양한 작업들을 진행할 수 있습니다.
문서나 폴더에 대한 복사를 하지 않고도 말이예요
이번에는 프로젝트 관리하기 관련 명령어들을 직접 사용해보도록 하겠습니다
잠깐 !
git status
.DS_store 파일을 발견 했는데 이것은 macOS 에서 자동으로 생성되는 시스템 파일이며
"Desktop Services"의 줄임말 이라고 합니다 ! macOS가 폴더의 표시 설정을 저장하는 파일입니다.
폴더를 열 떄마다 자동으로 생성되고 파일을 눌렀을때는 보이지 않은것같습니다.
즉 개발과 전혀 관련 없는 시스템 파일이므로 gitignore 에 추가하는 것이 좋을것같습니다.
저는 글로벌 설정을 통하여 모든 프로젝트에 자동 적용하도록 하겠습니다.
# 전역 .gitignore 생성
echo .DS_Store >> ~/.gitignore_global
git config --global core.excludesfile ~/.gitignore_global
설정 후 이전 처럼 커밋전이라고 더 이상 나오지 않습니다 !
touch 는 리눅스 명령어입니다 !$touch <만들고 싶은 파일>
예 $touch text1.txt
이렇게 메모장을 하나 만든 후
메모장을 들어가서
우리의 첫번 쨰 문서 라고 입력해주고 저장해줍니다 .
그 이후 ls 를 입력시 text1.txt 가 나옵니다
저는 text2.txt 로 만들어 보겠습니다.
$git status
깃 프로젝트 상태를 확인하는 깃명령어
이와같이 아직 커밋되지 않은 파일로 보이내요! 깃 소프트웨어가 감지한 상태입니다.
$git add
워킹 디렉터리 내 문서를 스테이징 영역에 추가하는 깃 명령어 예 git add gtxt2.txt 입력 후 git status 입력
이와같이 스테이징 Area 에 올라가 있는 것을 발견 할수 있습니다.
$git commit
스테이징 영역 내에 대기 중인 문서를 리포지토리에 추가하는 깃명령어 예 $git commit 을 하면 editer interface 로 변하게 됩니다.
- 쉬프트 + i 를 입력하여 인서트 모드로 이동해주세요 (한글에 주의 ! )
하단에 Insert 처럼 변경 되어있습니다. - 맨위에 하고 싶은 말을 적어줍니다 ! (커밋 메세지 )
인서트 일떄만 적을 수 있습니다 . 메세지를 적은 후 esc 를 눌러줍니다. - 그다음 쉬프트 ; 을 입력하면
이와같이 맨아래 콜론이 생기게 됩니다.
여기에 wq 를 입력 후 엔터합니다
그후 git status 를 입력하면 이런식으로 나오게 됩니다.
$git log
커밋한 수정 이력을 확인하는 깃 명령어
그다음
이렇게 수정하고 git status 를 입력하면
이렇게 modified : text2.txt 라고 나옵니다
마찬가지로 스테이징 Area 로 이동을 위해 git add <파일명>를 활용 해야겠죠 ! 이번엔 git add . 을 통해 스테이징해주도록할께요
저처럼 git add. 이렇게 공백없이 하면 저렇게 에러가 납니다 반드시 git add . 이렇게 add 뒤 공백을 해주세요 !
그다음 git commit 을 해야할 차례겠죠 이번엔 git commit -m "" 을 이용하여 에디터를 안열고 바로 입력 해보도록 합시다
그 다음 git log 를 통해 제가 연습한것을 알아보도록 할께요 !
gitignore알아보기 !
우선 $touch secret.txt
로 새로운 파일을 만들고 그안에 깃에게는 알려주고 싶지않아
를 입력합니다.
그다음 $touch .gitignore
로 만든 후 ls 로는 알수없고 ls -al 로해야 .gitignore 를 볼수 있어요 !
그다음 win,Mac 둘다 할수 있는 명령어가 있는데 $nano .gitingore
를 입력하면 interface 로 들어가게 돼요.
여기다 secret.txt 를 입력한 모습입니다.
그다음 컨트롤 x 를 입력하면 Save modified buffer ? 하며 Y,N 을 입력하라가 있는데 여기서 Y 를 입력하면
이런 화면이되는데 .gitigore 를 입력하면 .gitignore 에 secret.txt 가 정상적으로 올라가게 됩니다.
잠깐!
.gitignore 를 보고싶으면 Mac 은 ( 컨트롤 + 쉬프트 + . ) 를 입력 해야해요
$git status
입력시
secret.txt 에 대한 내용은 이제 없고 .gitingnore 에 대한 내용만 있내요 !
이제 git add .gitignore 를 입력하여 스테이징으로 넘겨보도록해요 !
$git add .gitignore
$git status
$git commit -m "add .gitignore"
$git status
이 순서로 입력해보아요 ! 위 내용은 잘따라왔으면 알수있겠죠 !? 모르겠다면 다시 위로 올라가서 읽어보길 바래요
그다음 $git log
를 입력하여 잘 올라갔는지 까지 확인 해보도록 합시다.
잘 올라갔내요!!
그다음 secret.txt 에 아무리 입력을 하더라도 git 에는 감지가 되지 않습니다 ! :>
커밋 이력 자세히 알아보기
- 커밋 해시 : 커밋 기록에 대한 고유 식별자
- 브랜치명 : 기존 저장소에서 분기된 저장소의 복사본인 '브랜치'의 이름
- HEAD : 현재 작업 중인 브랜치를 가리키는 포인터(참조자)
$git log -p
: 커밋의 변경사항까지 함께 출력하는 옵션$git log --oneline
: 각 커미을 요약해 한 줄 씩 출력하는 옵션$git checkout 커밋해시
: 문서 내용을 특정 커밋의 내용으로 되돌리는 깃 명령어$git reflog
: HEAD 포인터의 참조 이력을 출력하는 깃 명령어
$git log -p
입력시 위와 같이 변경사항까지 출력하고 마우스가 아닌 키보드 아래 화살표로 밑으로 내려서 확인할수 있습니다
또 END 에서 Q 를 입력하여 빠져나올수있어요 !
이렇게 $git log -1
1 혹은 2 , 3 이런식으로 하나 혹은 숫자 n 개를 확인할수도 있고$git log -p -1
이런식으로 하나에 대해서 변경사항까지 확인할수도있습니다.
$git log
가 길기 때문에 $git log --oneline
을 사용하면 아주 간략한 부분만 한줄 씩 출력 할수도있어요 !
$git checkout 커밋해시
를 이용해서 특정 커밋으로 이동할수 있습니다 !
251bf05 나의 두번쨰 커밋 작업 을 보면 251bf05 가 커밋해시입니다 ! --oneline 에 적힌 앞글자 6글자만 적어주면 됩니다 !
text2.txt 파일인데 이렇게 옛날로 돌아간것이 보이죠 !?
$git reflog
를 활용해서 참조 이력을 다시 확인할수있습니다. $git checkout master 혹은 $git checkout 커밋해시 를 이용해서 지웠던걸 다시 돌아올수있습니다.
저는 $git checkout master
를 이용해서 돌아왔습니다. 위와같이 text2.txt 파일이 돌아온것을 확인할수있습니다.
실수에 대응하기
- 상황 1 커밋할 생각이 없는데 스테이징 해버렸을때 !
문제 :실수로 git add 명령 수행 해버린 경우입니다 .
해결방법 : git reset 명령어를 입력하면 스테이징에 올라가 있던 파일을 초기화 즉 워킹 디렉터리로 되돌릴수 있습니다.
- 상황 2 커밋하면 안 되는 사항인데 커밋 해버렸다!
문제 : 실수로 git commit 명령을 수행 해버려서 잘못된 커밋 이력이 추가됌
해결방법 : git reset 명령어 + 커밋 해시를 함꼐 입력하면 커밋 이력 되돌리기가 수행됩니다.
특징 : git reset 커밋 되돌리기를 수행할 떄는 세 가지 옵션 중 하나를 선택할 수 있습니다.
--hard , --mixed , --soft 이렇게 세가지입니다.
$git revert 커밋해시
를 입력하면 특정 커밋의 수정사항을 되돌리되 '커밋 수정 사항을 되돌렸다' 는 사실 이력으로 남기는 명령어 입니다. 따라서 이를 수행하면 이력(커밋해시)를 줄이는게 아니라 오히려 늘어납니다.
기록된 수정사항을 되돌립니다
이번엔 gitmistake 라는 폴더에서 실습 해보도록하겠습니다 !
- 폴더를 생성 해주고 터미널 주소를 해당 폴더로 이동해주세요
$git init
를 이용해서 초기화 해주고ls -al
로 잘 되었는지 확인해주세요 .git 이 나오면 정상입니다.$touch mistake.txt
를 이용하여 txt 파일을 만들어주세요- 그다음 파일안에 아무말이나 써주고 저장해주고
$git add mistake.txt
로 상황 1 을 만들어보아요
git status 를 확인해보면 스테이지에 올라가있습니다
잘못 올라간 상황이라고 가정합니다.$git reset mistake.txt
를 입력후 $git status
를 입력해봅시다.
아래와 같이
다시 add 전으로 돌아간 모습을 확인할 수 있습니다.
이번엔 상황 2 를 확인해보죠
이번엔 add 후 commit 까지 한 상황을 가정해보기위해 현상태에서$git add mistake.txt
+ $git commit -m "first commit"
를 입력해 봅시다 후 git log --oneline
를 통해 잘 올라갔는지 확인 까지 해보겠습니다.
여기서 mistake 파일을 들어가서 수정을 해보고 저장을 하겠습니다.
이런식으로 수정되었다는 의미에 "modified 즉 수정함 : 파일명 " 이렇게 빨간 글씨로 나오게 되죠
이번엔 $git add .
+ git status
로 스테이징에올리고확인해보겠습니다
그다음 상황 2 를 만들어 봅시다.
$git commit -m "mistake coomit"
를 이용하여 실수로 커밋까지 한 상황을 만들겠습니다.
$git log --oneline
을 통해 확인해보면 mistake commit 이 남아있죠
해결 방법 : git reset 을 쓰는 것은 같습니다. 하지만 이번엔 커밋해시 까지 적어줘야합니다 + 추가로 옵션 까지 해야합니다
위에 설명햇듯 옵션은 -- soft , --mixed , --hard 이렇게 세가지가 있고 어디까지 돌아갈건지 즉 워킹디렉토리까지인지, 스테이징까지인지,레포지토리까지인지 등입니다.
이번엔 --hard 를 사용해 보겠습니다 .
그다음 $git log
와 $git status
로 확인해보면
first commit 상태 에서 달라진게 없는 상태가 됩니다. 즉 파일 안에 상태가 이전 상태로 변하는것이죠
이번엔 세번째 상황입니다 이번엔 내가 커밋을 했다 ! 라는 상황 까지 기록을 하고싶은 상황입니다.
상황 구성을 위해
$toouch add-mistake.txt
로 파일 만들기$git status
로 확인!$git addd .
로 스테이징으로 넘겨주시고$git commit -m "second commit"
으로 커밋 해주고$git log --oneline
으로 확인까지 해준 장면입니다.
여기서 중요 second commit을 실수로 했다 까지 남기고 싶은겁니다 이때 $git revert
를 입력하여야 합니다
근데 여기서 중요한것 즉 reset 이랑 또 다른것은
revert 는 잘못기록된 커밋 해시를 적고 reset 은 가고 싶은 커밋 해시를 적으면 됩니다 무슨 말냐면 사진과 함꼐 보시죠
$git revert 61d2e78
이 되겠고$git reset 4b4c19b --옵션
이 되겠내요
revert 를 들어가면 vi editer 가 열리는데 기억나시죠
- 쉬프트 +I 입력해서 인서트 모드
- 맨 윗줄로 가서 쓰고 싶은 것 적고 예) Revert "second commit" by moon
- ESC 누르고 쉬프트 + ; 누르고
- wq 를 입력하여 나와줍니다. (저장하고 끄기 )
이후 확인해보면 ls 입력시 이전 파일이 사라져 있는데 (add-mistake.txt) $git log --oneline
입력시 로그기록은 남아있죠
요약 하자면
- 스테이징 실수를 되돌리기 : git reset 파일명
- 커밋 실수를 되돌리기 : git reset 커밋해시 --옵션
- 커밋 실수 되돌리되 이를 기록하기 : git revert 커밋해시
를 입력하면 됩니다 !
브랜치 관리하기
개발을 하다 보면 코드를 여러 개로 복사해야 하는 일이 자주 생기는데 코드를 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있도록 하
는 것이 브랜치의 사용 목적입니다 . 브랜치는 기존 저장소에서 분기된 저장소의 "복사본"입니다.
깃 프로젝트가 처음 만들어지면 'master'이라는 이름의 기본 브랜치 하나가 만들어 집니다.
여기서부터 개발은 시작되고 이를 바탕으로 여러 브랜치를 분기해가며 작업할 수 있습니다.
=> 경우에 따라 기본 브랜치가 'main'인 경우도 있으나 , 단지 이름일 뿐이라 상관없습니다.
이렇게 여러 브랜치로 나뉜것을 합칠수도있습니다.
이번에 사용할 명령어들
$git branch
: 현재 브랜치 목록을 볼 수 있는 깃 명령어$git branch 브랜치이름
: 새로운 브랜치를 생성하는 깃 명령어$git checkout 브랜치이름
: 작업 중인 브랜치를 변경하는 깃 명령어$git merger 브랜치이름
: 현재 브랜치에 다른 브랜치의 내용을 병합하는 깃 명령어
이번에도 새로운 폴더를 만들어 보겠습니다.
사전준비$mkdir gitbranchtest
를 입력하여 폴더를 하나 만들고 cd 주소 를 통해 경로 이동을 해줍니다$git init
, $ls -al
로 초기화및 확인 해주고
$touch content.txt
, git status
, $git add .
, git commit -m "first commit"
, 를 이용해서 마스터 브랜치에 커밋 메세지 하나를 남겨 줍니다.
$nano contetnt.txt
입력후 "커밋 추가하려고 아무 내용이나 씁니다." 를 입력해줍니다
컨트롤 x -> y -> enter 를 입력해줍니다 .
$git status
입력시 modified 가 나와야하고 마찬가지로 $git add .
, $git commit -m "second commit"
해줍니다.
그 후 $git log --oneline
입력 해보면 두개의 커밋이 쌓여있는것을 확인할수있습니다.
이 후 세번째는 개발단계에서 확인해야하는 실험적인 커밋을 넣고 싶은데 이떄 이마스터의 복사본을 만드는 작업을 합니다.$git branch
는 브랜치 리스트를 확인하는 명령어입니다 적어줍니다 마스터만 있겠죠 ?$git branch dev
를 명령하여 dev 브런치를 생성해주고$git branch
입력시 이제 dev 와 master 두개가 있지만 우리는 여전히 master 브런치에 있는것을 알수있죠git checkout dev
를 입력하여 dev 로 이동합니다
(git checkout 브런치명 으로 이동가능하지만 checkout 은 복원도 가능합니다.혼동을 줄이기 위해 git 은 checkout 보다 switch 와 restore 을 사용 권장 한다고 합니다 . 이와 관련된 내용은 링크를 확인해주시기 바랍니다.)
그다음 dev 에서 파일을 하나 만들어 보아요
$touch test.txt
, $nano test.txt
아무 내용입력 , $git status
를 이용하여 확인 해줍니다.(반복되는 내용이라 이정도로 적겠습니다)git add .
, git commit -m "third commit on dev"
를 입력 후 $git log --oneline
으로 확인해줍니다.
그럼 여기서 second commit 까지는 마스터인데 third commit on dev 는 HEAD -> dev 라고 적혀있죠
마무리로$git checkout master
로 이동하고 $git log --oneline
입력시 저희의 기대처럼 third commit on dev 는 나오지 않아요
우리가 최종으로 여기서 원하는것은 dev 에서 작업한것을 master 과 병합 하는 것이죠 master 브런치 위치에서
git merge dev 를 입력하여 병합할수 있습니다.
그리고 실제로는 병합후 삭제까지 진행합니다 !$git branch -d dev
입력시 삭제가 됩니다.
git 과 github
내 PC 에서 혼자 작업하는 로컬 저장소 즉 Working Directory, Staging Area , Repository 등 로컬에서 진행하는것을
Github 에서 원격 저장소에서 저장하고 공유할수있습니다.
사용할 명령어
$git remote -v
: 현재 깃 프로젝트에 등록된 원격저장소 확인하는 깃 명령어$git remote add 원격저장소이름 원격저장소주소
: 현재 깃 프로젝트에 원격 저장소를 등록하고 , 여기에 이름을 붙히는것$git push
: 로컬 저장소의 내용을 원격 저장소에 공유할 때 사용하는 깃 명령어$git pull
: 원격 저장소의 내용을 로컬 저장소로 가져와 자동 병합하는 깃 명령어
이번에도 로컬 저장소를 만들어서 진행하겠습니다. gitlocalrepo 로 만들어줍니다.
그후 init , touch , add . , commit , log 등 순서대로 사진과 같이 입력하여 줍니다
이내용을 github 에 올려보도록하겠습니다.
이렇게 깃허브 사이트로 들어와서 오른쪽에 NEW 버튼을 누르고 새로운 레파지토리를 만들어줍니다 저는 gitremoterepo 라고 만들어볼께요
그다음 맨 마지막 사진 주소 부분을 복사해주고 다시 로컬터미널로 와줍니다
$git remote add origin 주소
저는 $git remote add origin git@github.com:Jacob-moon/gitremoterepo.git
이렇게 입력을 하였습니다. 그리고 origin 은 관례상 최초 원격저장소 이름으로 많이 사용합니다.
그리고 $git remote -v
를 통해서 등록된 원격저장소를 확인해보면 patch 와 pull 이 위 사진처럼 위치가 정상적으로 연결된것을 확인할수있습니다.
하지만 막상 git push 를 하려고 보면 이렇게 에러가 나게되는데 최초 push 시 이렇게 나옵니다 이유는 --set-upstream을 해줘야하기 때문이예요
$git push -u origin master
를 입력하여 설정 해줍니다 -u 는 upstream 이라는 뜻이예요
하지만 위 사진과 같이 안되내요 .. 그 이유는 처음으로 작업하는데 이 작업을 해도되는 사람인지 알아야하기 떄문이예요
컴퓨터가 GitHub 서버에 처음 연결할 때 "이 서버가 정말 GitHub이 맞는지 확인해 줄래?" 라고 묻는 과정 이라고 합니다 !
저는 실제 제 github 가 맞기때문에 yes 를 하겠습니다 . no 를 선택시 push 가 취소됩니다.
yes 를 입력합니다 !
*잠깐 ! 여기서 제가 일부러 HTTPS 로 origine 오타 로 잘못 입력을 해보았는데요 삭제는 *git remote remove origine
혹은 git remote set-url --delete origine https://github.com/Jacob-moon/gitremoterepo.git
로 제거 하면됩니다
다시 돌아가서 저는 또 실패하였습니다.
상황은 Git이 SSH를 통해 GitHub에 연결하려 했지만, 인증에 실패했음을 나타냅니다.
즉, 당신의 컴퓨터가 GitHub에 "나 Jacob-moon이야"라고 말했는데, GitHub이 "아닌데? 너 누군데?"라고 대답한 상황입니다.
이유를 알아보니 제가 SSH 키등록을 하지 않은 것 같군요 !
그래서 SSH 주소 즉 git@github.com:Jacob-moon/gitremoterepo.git
대신
저는 HTTPS 주소 https://github.com/Jacob-moon/gitremoterepo.git
로 다시 remote add 를 하기로 했습니다.
기존에 SSH 는 $git remote remove origin
으로 해서 지워줍니다 !
그다음 $git remote add origin https://github.com/Jacob-moon/gitremoterepo.git
로 다시 만들어 준 후$git push -u origin master
를 통해 push 했더니
깃허브 이메일과 패스워드를 입력하라고 나옵니다 !
하지만 제가 틀렸는지 위와 같이 실패 문구가 나오는군요
이유를 찾아보니 github HTTPS,SSH 인증
보다 안전한 인증 방법을 지원하기 위해 Git에서 암호 기반 인증이 제거되었습니다 라고 나오내요 즉 PAT를 만들어야 하나 보군요 !
방법은 :
- 개인 액세스 토큰(PAT) 생성:
- GitHub 웹사이트에서 PAT를 생성합니다.
- GitHub에 로그인합니다.
- 오른쪽 상단 프로필 사진 클릭 -> Settings 클릭.
- 왼쪽 사이드바 하단에서 Developer settings 클릭.
- 왼쪽 사이드바에서 Personal access tokens -> Tokens (classic) 클릭. (최근에 Fine-grained tokens도 생겼지만, 일반적인 CLI 사용에는 Classic 토큰이 더 간단합니다.)
- Generate new token (classic) 버튼 클릭.
- Note (Required): 토큰의 용도를 식별할 수 있는 이름을 입력합니다 (예: "My CLI Token for MacBook").
- Expiration: 토큰 만료 기한을 설정합니다. 보안을 위해 특정 기간(예: 30일, 90일)을 설정하는 것을 권장합니다.
- Select scopes: 이 토큰이 어떤 권한을 가질지 선택합니다. Git 푸시를 위해서는 최소한 repo 전체를 선택하거나, repo 하위의 public_repo, - - repo:status, repo_deployment 등을 선택해야 합니다. 일반적으로는 repo 전체를 선택하는 것이 가장 간단합니다.
- Generate token 버튼 클릭.
- 생성된 토큰 문자열을 즉시 복사하여 안전한 곳에 보관합니다! 이 화면을 벗어나면 다시는 이 토큰을 볼 수 없습니다.
그다음 $git remote add origin https://github.com/Jacob-moon/gitremoterepo.git
를 해야하는데 저는 이미 했죠 ! 그래서 필요 없습니다
등록이 잘 되었으면 $git push -u origin master # 또는 git push -u origin main
로 다시 푸쉬 시도!! (이번엔 제발 되길)
Username for 'https://github.com':
Password for 'https://github.com':
이런식으로 나오게 되는데 저 같은 경우
Username: GitHub 사용자 이름(Jacob-moon)을 입력합니다.
Password: 여기에 GitHub 비밀번호가 아니라, 1단계에서 생성하고 복사해 둔 개인 액세스 토큰(PAT) 문자열을 붙여넣고 Enter를 누릅니다.
자 그러면
짜잔! 드디어 성공 하였습니다 .
반대작업
이번엔 먼저 등록을하고 그다음 로컬로 가져오는 작업을 해보도록하겠습니다.
특이한 사항은 리드미가 체크되어있는것입니다 ! 이말은 README 라는 파일이 먼저 하나있는 상태로 만들겠다는의미입니다.
오른쪽의 코드를 누르고 HTTPS 경로를 먼저 붙여넣기합니다
그다음 내가 복사 하고 싶은 경로로 cd .. 등을 이용하여 이동 하여주시고 $git clone 복사한주소
입니다 .
그다음 ADD file 에서 Create file 을 만들면 원격 저장소에서 직접 파일을 작성하고 또 uploadfile 로 파일을 직접 업로드도 가능합니다 .
다만 이떄는 로컬에는 등록된게 당연히아니겠죠 ! 그래서 그 파일을 local 로 가져와보도록하겠습니다.
$git pull
을 입력하여 가져올수있습니다 !
이렇게 가져오고 주고 받고 하는 방식으로 작업을 진행 할수있습니다
참고:
https://www.youtube.com/watch?v=9MTlFHmyjks
끝나며
githubdesk 을 그동안 이용하며 문제 없이 사용하다가 git 과 github 를 사용하는 방법을 다시 리마인드 하였습니다
여기서 다 다루지 못한 내용들도 많지만 이외 내용들은 추가로 하면서 필요시 여기 카테고리에 적도록 하겠습니다 감사합니다.