FUNDAMENTAL | 03-1. Git, GitHub
20210909
🤝추천 협업 툴
슬랙(Slack)
: https://slack.com/
노션(Notion)
: https://www.notion.so/
트렐로(Trello)
: https://trello.com/
Google Meet
:https://meet.google.com/
😳오늘의 학습
출처: AIFFEL FUNDAMENTAL_SSAC2 2. 개발자를 위한 필수교양
1. GitHub
코드를 다루는 개발자들이 편리하게 협업하기 위한 도구
commit
: 코드를 다루었거나 개발과 관련된 문서 작업 등을 했다는 뜻
(커밋을 통해 잔디를 심을 수 있다 ㅎ)
GitHub는 커밋 뿐만 아니라 개발자들이 코드를 오픈소스로 공유하고, 한 팀을 이루어 개발을 진행할 때 복잡한 코드 버전들을 효율적으로 관리하기 위한 호스팅 사이트이다.
Git & GitHub
Git
: 소스코드가 업데이트 되는 버전을 기록해두고 관리할 수 있는 소스코드 버전 관리 시스템
GitHub
: Git으로 관리하는 프로젝트를 호스팅하고, 시간과 공간의 제약 없이 협업할 수 있는 온라인 서비스
2. 우분투와 Git
버전 확인
$ git --version
계정 정보 등록
$ git config --global user.email "[email protected]"
$ git config --global user.name "my-username"
config 정보 확인 및 버전 관리 시작하기
$ git config -l
로컬 저장소 생성
$ cd ~
$ mkdir workplace
$ cd workplace
$ git init
$ ls -a
. .. .git
$ cd .git
$ ls
HEAD branches config description hooks info objects refs
README.md 파일 생성
README.md
: GitHub 레파지토리의 대문 역할을 하는 파일 (md는 markdown 파일 지칭).
$ cd ~/workplace
$ echo "# first-repository" >> README.md
$ ls
README.md
$ cat README.md #파일 작성 내용 확인
# first-repository
버전 변화 확인
$ git status
On branch main
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)
git에 변경사항 저장하기
add
: 변화를 기록하기 위한 준비 단계.
staging 한다, 또는 stage에 올려둔다는 등의 표현을 사용.
본격적인 스냅샷(snapshot)을 찍기 전에 임시로 올려두는 개념
commit
: 실제로 특정 순간의 버전을 스냅샷으로 확정시켜 남겨두는 역할
$ git add README.md
$ git commit -m “new readme file” #-m은 메세지 옵션
[master (root-commit) 438a37c] new readme file
1 file changed, 1 insertion(+)
create mode 100644 README.md
로컬 저장소와 원격 저장소 연결
$ cd ~/workplace
$ git remote add origin https://github.com/xxx/first-repository.git #자신의 username 추가
$ git config credential.helper store
$ git push origin main
Username for 'https://github.com': [계정에 사용된 이메일을 입력하세요]
Password for 'https://[위에 입력한 이메일]@github.com': [비밀번호(토큰)를 입력하세요]
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)
To https://github.com/jeina7/first-repository.git
* [new branch] master -> master
이 단계에서 정말 고생했다😂
일단 main으론 안 먹혀서 master로 하니까 됐다.
큰 산 하나 넘었더니 .. 갑자기 패스워드 치려는데 글씨가 안써지는 것.. ㅠ
혼자 해결해보려고 끙끙대다가 같은 팀원분들이랑 퍼실님께 질문했는데 단박에 해결..
안써지는게 아니라.. 안보이는 것이었다ㅜ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
나는 왜 엔터를 안쳐본거야.. ㅠ
부끄럽고 내 바보같음에 어이 없었지만 해결한 기쁨에 이 감정들은 빠르게 사라졌다 🤣
원격 저장소 파일 로컬로 가져오기
$ cd ~
$ mkdir project
$ cd project
$ git clone https://github.com/xxx/first-repository.git #자신의 username 입력
Cloning into 'first-repository'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
$ ls
first-repository
$ cd first-repository
$ ls
README.md
$ cat README.md
# first-repository
수정 파일 push & pull
# 수정하기
$ echo "add new contents" >> README.md
# 내용 확인
$ cat README.md
# first-repository
add new contents
#상태 확인
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
# add * commit
$ git add README.md
$ git commit -m “new contents”
[master c82640d] new contents
1 file changed, 1 insertion(+)
#원격 저장소로 보내기
$ git push origin main
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (3/3), 276 bytes | 276.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/jeina7/first-repository.git
438a37c..c82640d master -> master
#로컬, 원격 저장소 내용을 같게 업데이트 하기
$ git pull origin main
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/jeina7/first-repository
* branch master -> FETCH_HEAD
438a37c..c82640d master -> origin/master
Updating 438a37c..c82640d
Fast-forward
README.md | 1 +
1 file changed, 1 insertion(+)
# 확인하기
$ cat README.md
# first-repository
add new contents
Author And Source
이 문제에 관하여(FUNDAMENTAL | 03-1. Git, GitHub), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tjddus0302/FUNDAMENTAL-03-1.-Git-GitHub저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)