본문 바로가기



github사용에 필요한 주요 명령어



vscode에서 필요한 {git login 로그인, update 업데이트, commit 업로드, override update 로컬 업데이트 덮어쓰기 , override commit 원격 업로드 덮어쓰기 }를 사용할 수 있는 필수 명령어를 소개합니다.

 

1. VsCode에서 git허브 자동인증 설정

VsCode에서 git 명령어를 사용하다 보면 id와 password를 계속 물어보는 상황이
자주 발생합니다. 
id/password 설정을 매번입력하지 않아도 자동인증을 하고 싶다면 터미널창에서 
아래 명령어를 입력하면 됩니다.

git config --global credential.helper store

 

명령어 실행 이후에는 id와 passwordw를 한 번만 입력하면 로그인 정보가 로컬 디스크에 저장되어서
매번 입력하지 않아도 인증이 됩니다.

기존 정보를 삭제하고 다시 설정하고 싶을 경우 아래 명령어를 사용합니다.
git config --unset user.name
git config --unset user.email

만약 global로 설정했다면 --global을 추가하셔야 합니다.

git config --unset --global user.name
git config --unset --global user.email

삭제되거나 변경된 내용을 확인하려면 아래 명령어를 사용합니다.
git config --list

사용자 정보 재등록은 아래 명령어를 사용합니다.
git config --global user.name "홍길동"
git config --global user.email "eid@mail.com"

 

2. svn의 update와 같은 기능을 vscode에서 실행

VSCode에서 Github 원격 서버의 최신 내용을 받아오는 것은 Git의 pull 명령을 사용하여 수행할 수 있습니다. 이는 SVN의 update 명령과 유사한 기능을 수행합니다. VSCode에서 이를 수행하는 방법은 다음과 같습니다:

  1. 좌측 사이드바에서 'Source Control' 아이콘 (파일 아이콘과 돋보기 아이콘 사이)을 클릭합니다.
  2. 'Source Control' 창에서 현재 프로젝트의 소스 컨트롤 섹션을 찾습니다.
  3. 해당 섹션의 상단에서 "..." 아이콘을 클릭하면 메뉴가 열립니다.
  4. 이 메뉴에서 'Pull' 또는 'Pull from...'을 선택합니다.
  • 'Pull'은 기본적으로 설정된 원격 저장소와 브랜치에서 변경 사항을 받아옵니다.
  • 'Pull from...'은 원격 저장소와 브랜치를 직접 선택하여 변경 사항을 받아올 수 있습니다.

'Pull' 작업이 완료되면, 로컬 작업 디렉터리는 Github의 최신 상태로 업데이트됩니다. 이렇게 하면 SVN의 update 명령과 유사하게 원격 저장소의 최신 변경 사항을 로컬로 가져올 수 있습니다.

 

3. svn의 update와 같은 기능을 vscode의 터미널 명령어로 실행

VSCode 터미널에서 GitHub 원격 서버의 최신 내용을 받아오려면 Git의 pull 명령을 사용하면 됩니다. 이는 SVN의 update 명령과 유사한 기능을 합니다. 아래와 같이 입력하면 됩니다:

git pull origin master

위 명령어는 origin이라는 원격 저장소의 master 브랜치로부터 변경 사항을 가져와 로컬의 master 브랜치에 병합합니다.

만약 다른 원격 저장소 이름이나 다른 브랜치로부터 변경 사항을 가져오려면, 해당 원격 저장소 이름과 브랜치 이름으로 바꿔서 입력하면 됩니다.

예시:

git pull myRemoteRepo myBranch

이렇게 하면 SVN의 update 명령과 유사하게 원격 저장소의 최신 변경 사항을 로컬로 가져올 수 있습니다.

 

4. svn의 commit과 같은 기능을 vscode에서 실행

VSCode에서 작업한 내용을 Github 원격 서버에 업로드하려면, Git의 add, commit, push 명령을 사용하면 됩니다. 이를 VSCode 터미널에서 실행하는 방법은 다음과 같습니다:
1. 모든 변경사항을 스테이징 (추가)합니다:

git add .

 

2. 스테이징 한 변경사항을 커밋합니다. 여기서 "Your commit message" 부분은 커밋 메시지로, 변경사항에 대한 설명을 적어주세요:

git commit -m "Your commit message"

이렇게 하면 SVN의 update 명령과 유사하게 원격 저장소의 최신 변경 사항을 로컬로 가져올 수 있습니다.

 

3. 커밋한 변경사항을 원격 저장소 (Github)에 업로드 (푸시)합니다:

git push origin master

 

위 명령어는 origin이라는 원격 저장소의 master 브랜치에 변경사항을 푸시합니다. 다른 원격 저장소 이름이나 브랜치에 푸시하려면, 해당 원격 저장소 이름과 브랜치 이름으로 바꿔서 입력하면 됩니다.
이렇게 하면 VSCode에서 작업한 내용이 Github 원격 서버에 업로드됩니다.

5. svn의 { override update } 같은 기능

집에서 작업한 내용을 보존하지 않고, 완전히 회사에서 작업한 내용으로 덮어쓰기를 원하신다면, Git의 fetch와 reset 명령을 사용하실 수 있습니다.

 

원격 저장소에서 최신 변경사항을 가져옵니다.
git fetch origin

 

로컬의 master 브랜치를 원격 저장소의 master 브랜치와 동일한 상태로 만듭니다.
git reset --hard origin/master

 

위의 명령은 모든 로컬 변경사항을 무시하고, 원격 저장소의 master 브랜치의 상태로 로컬의 master 브랜치를 덮어씁니다. 따라서 이 명령을 실행하기 전에 로컬에서 변경한 내용이 중요하지 않거나 다른 곳에 백업이 있는 경우에만 사용해야 합니다. 이렇게 하면 로컬의 상태가 원격 저장소의 상태와 동일해집니다. 이제 VSCode에서 작업을 계속하실 수 있습니다.

6. SVN의 { override commit } 같은 기능

VSCode에서 Github에 있는 내용을 무시하고 현재 작업 내용을 강제로 전체 커밋하려면, 먼저 로컬의 변경 사항을 커밋하고 이후에 'git push -f' 명령을 사용하여 원격 저장소의 내용을 강제로 덮어씌울 수 있습니다.

아래는 이를 수행하는 방법입니다:

  1. VS Code에서 'Source Control' 뷰를 엽니다. (사이드바의 제3 아이콘)
  2. '+' 버튼을 눌러 모든 변경사항을 스테이징 합니다.
  3. 커밋 메시지를 입력하고, 체크 아이콘을 눌러 변경사항을 커밋합니다.
  4. 이제 터미널을 열어 'git push -f' 명령을 실행합니다.

git push -f origin master

 

주의: 'git push -f'는 원격 저장소의 이전 커밋 내역을 모두 덮어씌우는 명령어로, 다른 사람과 같이 작업하는 저장소에서는 주의해서 사용해야 합니다. 이 명령을 실행하면 원격 저장소의 커밋 이력이 현재 로컬의 커밋 이력으로 완전히 대체되며, 이 과정에서 원격 저장소의 이전 커밋 내역은 복구할 수 없게 됩니다. 따라서 이 명령은 혼자서 작업하는 개인 프로젝트나, 실수로 잘못된 커밋을 푸시한 경우 등에만 사용하는 것이 좋습니다. 다른 사람과 협업하는 프로젝트에서는 이 명령을 통해 다른 사람의 작업 내역을 덮어씌우지 않도록 주의해야 합니다.