Git(깃) - 버전 관리 소프트웨어, 로컬 저장소에 모든 변경 사항을 기록하여 파일의 버전 관리를 용이하게 함.
Githut(깃헙) - Git을 기반으로 한 웹 호스팅 서비스, 클라우드 서버를 통해 로컬 저장소의 코드를 업로드 및 공유.
내 작업물을 공유할 수도 있고, 다른 사람의 작업물을 받아와서 작업할 수도 있음. (협업에 유리)
사전 준비
- Git 설치 (작업용 장비, Ubuntu 22.04LTS 서버 사용)
# apt install git-all
# git --version
git version 2.34.1
- Github 계정 생성
- https://github.com/join 접속하여 회원 가입
로컬에 Github 정보 등록
- "사용자명"과 "이메일"은 개인이 사용하는 정보로 등록
# git config --global user.name 사용자명
# git config --global user.email 이메일
# git config -l
user.name=사용자명
user.email=이메일
Git 로컬 저장소 등록
- /home/git/workplace 로 등록
# pwd
/home/git
# mkdir workplace
# cd workplace/
# pwd
/home/git/workplace
Git 초기화
- /home/git/workplace 로 이동하여 진행
- 작업이 완료 되면 /home/git/workplace/.git 디렉토리가 생성 됨
# git init
Initialized empty Git repository in /home/git/workplace/.git/
# ls -al
drwxr-xr-x 7 root root 4096 Sep 20 14:09 .git
readme.md 파일 생성
- README 파일은 주로 Github 프로필 혹은 Repository에 대한 설명을 나타내기 위해 작성.
- /home/git/workplace 아래에 생성
# echo "# github repository" >> readme.md
# ls -al
-rw-r--r-- 1 root root 20 Sep 20 14:13 readme.md
# cat readme.md
# github repository
Git 상태 확인
- git status 명령은 현재 작업 중인 브랜치(master) 커밋할 변경 사항, 추적되지 않은 파일등의 정보를 표시.
- 파일 상태
- Tracked files - 한번이라도 commit 하여 git이 버전을 관리하는 파일 (수정 내역을 계속 추적)
- Untracked files - 한번도 commit 되지 않아 git이 버전을 관리하지 않는 파일 (수정 내역을 추적하지 못함)
# git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
readme.md
nothing added to commit but untracked files present (use "git add" to track)
저장(add) 및 commit
- 저장(add)
# git add readme.md
# git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: readme.md
- commit
- -m 과 함께 커밋 메시지를 작성(변경 사항 기록)
- git log 명령으로 commit 내역 확인 가능
# git commit -m "new readme file"
[master (root-commit) ffb3fdb] new readme file
1 file changed, 1 insertion(+)
create mode 100644 readme.md
# git status
On branch master
nothing to commit, working tree clean
# git log
commit ffb3fdb069bcf78eb7a17f0361eb04149c627a38 (HEAD -> master)
Author: 사용자 <이메일>
Date: Fri Sep 20 14:23:08 2024 +0900
new readme file
원격 repository 생성 (Github)
- github 접속
- 오른쪽 상단 "사용자 아이콘" 클릭 -> "Your repositories" 선택
- 오른쪽 상단의 초록색 "New" 클릭하여 신규 repository(저장소) 생성
- Repository name: 등록
- Public 선택
- Add a README file 체크 해제 (로컬에 생성한 readme 파일 사용)
- 생성 된 repository(저장소) 확인
로컬 저장소와 원격 저장소 연결
- /home/git/workplace 아래에서 진행
- origin은 원격 저장소 별칭으로 원격 저장소 URL을 간략하게 표현하기 위해 사용
# git remote add origin https://github.com/사용자/github-repository.git
개인 액세스 토큰 생성
- 깃헙 패스워드 대신 개인 엑세스 토큰을 사용하여 로그인
- github 접속
- 오른쪽 상단 "사용자 아이콘" 클릭 -> "Settings" 선택
- 왼쪽 하단 " Developer Settings" 클릭
- "Personal access tokens" - > "Tokens(classic)" - > "Generate new token" -> " Generate new token(classic)" 클릭
- "Note" 작성 및 " Expiration", "Select scopes" 선택 후 왼쪽 하단 초록색 " Generate token" 클릭
- 생성 된 토큰 코드를 별도로 기록 (노출 주의)
토큰 계정 등록 후 원격 저장소 전송
- Username: 등록한 사용자명
- Password: 토큰 코드 입력 (복사 된 내용 입력 시 화면에 아무것도 안 나옴)
# git push origin master
Username for 'https://github.com': 사용자
Password for 'https://이메일': 토큰 코드 입력
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 230 bytes | 230.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/사용자/github-repository.git
* [new branch] master -> master
원격 저장소 등록 확인