메뉴 건너뛰기

git 을 한마디로 간단하게 정의하면, 로컬 컴퓨터에서 "프로그램 소스 버전관리 프로그램" 입니다.

 

그리고 로컬 컴퓨터의 git과 연동을 하면서, 원격지에서 git 처럼 버전관리하는 사이트는 github, gitlab 등 여러 가지 선택지가 있는데, 원래 가장 많은 사용자가 있는 github가 2020년 4월 유료로 제공하던 옵션을 거의 무료로 풀어버리면서(아래 기사링크 참고) 대부분의 개발자는 github를 사용하고 있습니다.

 

https://wptavern.com/github-opens-free-plan-to-unlimited-collaborators-on-private-repositories

 

 

 

 

 

1. git 설치

 

git 을 설치하기 위해서 검색창에서 git을 검색해서 git 홈페이지로 이동합니다.

 

화면 캡처 2023-02-07 095150.png

 

화면 캡처 2023-02-07 095210.png



사용하는 윈도우 PC의 bit에 맞는 설치파일을 다운로드해서 실행합니다.

 

 

 

화면 캡처 2023-02-07 095344.png

 

화면 캡처 2023-02-07 095414.png

 

화면 캡처 2023-02-07 095546.png



특별한 옵션없이 기본값으로 git을 설치합니다.

 

 

 

화면 캡처 2023-02-07 095843.png



git 에서 사용할 폴더를 설정합니다. 위 예시는 c:\tmp\SQL로 했는데, 임의의 폴더를 설정하면 됩니다. git을 처음 사용하기 위해서는 초기화를 해야 하는데, 초기화 명령어는 git init 입니다. git init 초기화 명령을 실행하면, 해당 폴더에 .git 디렉토리가 생성됩니다. git 에서 사용할 폴더를 변경하기 위해서는, 해당 폴더로 이동해서 git init 을 다시 실행하면 됩니다.

 

 

 

화면 캡처 2023-02-07 130243.png

화면 캡처 2023-02-07 100345.png

 

git 이름과 이메일을 지정하지 않으면, git과 vscode에서 git을 연동할 때 오류가 발생합니다.



git 명령어를 실행하면 이메일과 이름을 지정하라는 안내가 나타납니다.

git config --global user.email "이메일주소",

git config --global user.name "이름"

위 명령어를 실행해서 이메일과 이름을 설정합니다.



 

 

 

 

2. git, github 연동

 

1) github 회원가입

 

화면 캡처 2023-02-07 104827.png

 

github 회원가입을 합니다. 로컬 컴퓨터의 git 만 사용해도 되지만, git과 github를 연동해서 사용하는 것이 일반적입니다. 로컬 컴퓨터에 있는 소스를 1) 백업, 2) 협업, 3) 공유하기 위해서는 github 사용이 필수입니다.

 

 

 

2) github 레포지토리 생성

 

화면 캡처 2023-02-07 131939.png

최초 github 계정에 로그인하면 레포지토리가 없기 때문에, 좌측 "Create repository"를 클릭해서 레포지토리를 생성합니다.

 

화면 캡처 2023-02-07 132249.png

 

Repository name 과 공개여부만 설정해서 Create repository를 생성합니다. 위 예시에서는 Repository name을 "study01", 공개여부는 비공개(Private)로 설정했습니다.

 

 

 

3) git, github 최초 연동

 

화면 캡처 2023-02-07 100801.png

 

위 예시에서 study01 레포지토리를 생성하였습니다. 로컬 컴퓨터 git 과 연동하기 위해서 git 레포지토리에서 안내하는 명령어를 git 이나 vscode 터미널에서 실행합니다. 

 

1) git 으로 지정한 폴더에 repository(예. study01)가 없는 경우는 에 있는 경우는 "...or create a new repository on the command line" 에 있는 git 명령어 6개를 실행하면 되고, 2) 이미 git 으로 지정한 폴더에 repository(예. study01)가 있는 경우는 에 있는 경우는 "...or push an existing repository from the command line" 에 있는 git 명령어 3줄을 실행합니다.

 

 

 

화면 캡처 2023-02-07 132611.png

 

처음 git, github를 연동하기 위해 1) git 으로 지정한 폴더에 repository(예. study01)가 없는 경우는 에 있는 경우는 "...or create a new repository on the command line" 에 있는 git 명령어 6개를 실행하면, 위와 같이 github 로그인 창이 뜹니다. 본인의 github 아이디로 로그인 합니다.

 

 

 

화면 캡처 2023-02-07 133007.png

 

github 에 정상적으로 로그인되면 로컬 디스크 git 에 설정된 폴더의 소스가 원격지 github의 레포지토리로 push가 완료됩니다.

 

 

 

SE-65f978c6-a90d-4de3-befb-1969cc37d683.png

 

github에 README.md 파일이 정상적으로 동기화 되었습니다.

 

 

 

4) 스테이징(add), 커밋(commit), 푸시(push)

 

화면_캡처_2023-02-07_133555.png



git 을 사용할 때 가장 주의해서 알아야 하는 개념, 명령어는 스테이징(add), 커밋(commit) 입니다.

 

git에 반영(커밋 commit)하기 위한 사전단계는 스테이징입니다. 스테이징은 git add 명령어로 실행하는데, 스테이징을 한 대상만 커밋(commit) 명령어를 실행했을 때 git 에 반영됩니다.

예를 들어, ga.py, ga02.py 두 개의 파일을 추가하고, git add ga.py -> git commit -m "2nd commit" 명령어를 차례로 실행했을 때, add 명령어로 스테이징 한 ga.py 파일만 git 에 반영되고, ga02.py는 git 에 반영되지 않습니다.



 

 

화면_캡처_2023-02-07_134612.png

 

로컬 디스크에 커밋(commit) 한 소스를 원격지 github에 반영하기 위해서는 푸시(push) 명령어를 사용합니다.

$ git push -u origin main

 

위 명령어 실행 후 github 홈페이지의 해당 레포지토리에서 변경된 파일현황을 확인할 수 있습니다.

 

 

 

5) github 레포지토리 삭제

 

화면_캡처_2023-02-07_131608.png SE-09520345-e050-4ae6-a0d8-888de5c861f0.png

 

Repositories - "해당 Repository" - Settings 맨 아래 Delete this repository 에서 삭제할 수 있습니다

최종 삭제하는 것을 확인하기 위해서 "아이디/레포지토리명"을 타이핑합니다





 

3. github 와 비주얼스튜디오코드(vscode) 연동

 

위에서 말씀드렸지만 로컬 디스크 git 으로 버전관리하는 것보다, 원격지 github 와 vscode를 이용해서 버전관리하는 것이 로컬 컴퓨터에 있는 소스를 1) 백업, 2) 협업, 3) 공유할 수 있기 때문에 훨씬 좋습니다. 

 

화면_캡처_2023-02-07_140327.png

화면_캡처_2023-02-07_140423.png



git 기본 디렉토리가 변경되었거나 다른 폴더를 지정할 경우에는 F1-git clone 을 실행 - Clone from GitHub 클릭 해서 다시 git 폴더와 github repository를 설정합니다.

비주얼스튜디오코드(vscode) 에서 git, github를 연동하기 위해서는 GitHub 확장 프로그램을 설치해야 합니다.



화면_캡처_2023-02-07_140534.png

 

"항상 vscode.dev에서 연결된 앱에 있는 이 유형의 링크를 열도록 허용" 체크하고 "Visual Studio Code 열기" 클릭합니다.

 

 

 

화면_캡처_2023-02-07_140658.png

 

"Don't ask again for this extenstion" 체크하고 "Open" 클릭합니다.

 

 

 

화면_캡처_2023-02-07_140840.png

 

github와 동기화할 로컬 디스크 폴더를 선택하면, 로컬 디스크에 자동으로 동기화한 github 레포지토리와 동일한 이름의 폴더가 생성되고 해당 레포지토리에 있는 소스가 다운로드 됩니다.

 

 

 

화면_캡처_2023-02-07_143119.png

 

로컬 디스크에 있는 파일 3개를 github-vscode와 연동된 폴더에 생성하면, vscode는 왼쪽 세 번째 source control 아이콘에 자동으로 3개의 변경사항이 있다는 것을 표시해줍니다.

 

 

화면_캡처_2023-02-07_143626.png

 

vscode 상단 메뉴(File, Edit, Selection...) 아래에 있는 SOURCE CONTROL 옆에 있는 v 표시는 로컬 디스크 커밋(commit) 아이콘이고, 아래 크게 표시된 v Commit 아이콘은 github와 연동하는 커밋(commit) 아이콘입니다. 주의해야 하는 점은 로컬 디스크 commit 한 다음, github commit을 해야 합니다.로컬 디스크 commit 을 하지 않으면, github commit 명령어가 종료되지 않고 계속 실행되는 오류가 발생합니다.

 

 

 

화면_캡처_2023-02-07_143801.png

 

github 에 커밋(commit) 하기 전에 위에서 설명드린 것 처럼 + 버튼을 눌러서 커밋 대상을 지정하는 스테이징 작업부터 해야 합니다. + Stage All Change를 누르면, 위와 같이 github push 할 변경대상이 없기 때문에 Changes 에는 0으로 표시되고, github 커밋(commit) 대상인 Staged Changes 는 3으로 표시됩니다.

 

 

화면_캡처_2023-02-07_144258.png

 

ver1 commit 코멘트로 SOURCE CONTROL 옆 로컬 디스크 commit(v 버튼)을 실행합니다.

 

 

 

화면_캡처_2023-02-07_144500.png

 

로컬 디스크 commit 이 완료되면, 자동으로 github commit 버튼은 Sync Changes 로 변경됩니다.

 

 

 

화면_캡처_2023-02-07_144608.png

 

Sync Changes 를 클릭하고, OK 버튼을 클릭해서 push 해서 commit 을 완료합니다.

 

 

SE-09dd24de-330d-46b6-b31e-5f9a7fc3bd11.png

 

github 에 정상적으로 반영된 것을 확인할 수 있습니다.

번호 제목 글쓴이 날짜 조회 수
» git, github 사용하기. vscode에서 github 연동하기(2023.02.09) file 관리자 2023.02.08 1298
33 록키리눅스(Rocky Linux) 네트워크 설정하기 - nmcli, nmtui file 관리자 2023.02.01 35627
32 CentOS 종료 대비, 록키 리눅스(Rocky Linux) 설치하기 file 관리자 2023.01.27 1360
31 플래시 설치파일 file 관리자 2021.01.13 356
30 tar 압축하면서 다른 디렉토리에 풀기 file 관리자 2020.11.14 475
29 리눅스 하드디스크 추가 관리자 2019.02.12 1430
28 [MySQL]ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 관리자 2018.12.23 1295
27 [리눅스]phpinfo() 실행 시 하얀 화면이 나타날 경우 대처방법 file 관리자 2018.12.13 3703
26 [리눅스]rsync 설정 후, crontab 스케줄 등록 관리자 2018.08.28 2740
25 [리눅스][XE]백업복구(서버이관) 시 오류-03.사이트 메뉴 편집, 사이트 디자인 설정 출력 안되는 현상 file 관리자 2018.08.27 11124
24 [리눅스][XE]백업복구(서버이관) 시 오류-02.아파치 rewrite에러 file 관리자 2018.08.27 516
23 [리눅스][XE]백업복구(서버이관) 시 오류-01.No matching DirectoryIndex (index.html) fonud 오류 file 관리자 2018.08.27 1461
22 [리눅스][XE][오류]msg_is_not_administrator file 관리자 2018.08.08 1242
21 [리눅스]CentOS에서 하드디스크 추가 관리자 2018.03.21 8843
20 [리눅스]리눅스 파일 압축 암호 설정 및 해제(ZIP) 관리자 2017.07.30 18083
19 [리눅스]CentOS 7,최신 APM 소스설치-5) PHP, gd library jpeg support file 관리자 2017.02.21 1853
18 [리눅스]CentOS 7 root password 분실 file 관리자 2016.12.27 6353
17 [리눅스]vsftpd ftp 파일전송오류(451 Failure writing to local file) 관리자 2016.12.20 4117
16 [리눅스]APM(apache+php+mysql) 다른서버로 이관하기(백업-복구하기) 관리자 2016.09.12 4673
15 [리눅스]XE(XpressEngine)설정 file 관리자 2016.07.26 684