intro
git은 체계적인 개발과 프로그램의 배포를 도와주는 형상 관리 도구, 버전 관리 시스템입니다. 소프트웨어 개발 단계에서 버전을 효과적으로 관리하고, 동시에 협업을 도와주는 도구입니다.
이번 기회에 git에 대해 확실히 정리하고 한다.
https://git-scm.com/로 접속한 뒤, Download for Windows or mac를 클릭해 설치를 시작합니다.
설치 옵션은 검색해서 찾아보자.
https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98
https://codingapple.com/unit/git-install-windows-mac/
github.com 사이트에 들어가서 가입하면 된다. 모르면 검색
컴퓨터의 git과 github를 연동해야 된다. git의 저장소가 github라서 여러 git(프로그램이든 파일이든)을 github에 저장하기 위해 연동한다고 생각하면 된다.
참고로 git 생성 및 GitHub 연동은 기업에서는 팀장급 이상의 직원들만 하는 경우가 많다.

터미널에 git --version 이라고 작성하면 위처럼 버전이 나오면 설치되어있는 상태이다.

먼저 ,
git config --global user.email "user_email"
git config --global user.name "user_name"
명령어를 통해 나의 email과 이름을 등록한다.
이것을 통해 컴퓨터에서 git 프로그램을 사용하는 사용자을 등록한 것이다.

잘 등록되었는지 확인하려면
git config --list
을 통해 user 정보를 확인하면 된다.
GitHub 메인 화면 좌측 상단의 Create repository나 우측 상단의 +를 눌러 레파지토리 생성 페이지로 이동합니다.




인텔리제이는 cmd 터미널을 기본으로 사용하므로 터미널을 bash로 변경하거나 따로 git bash 프로그램을 실행시키고 파일 위치를 일치시키고 진행하면 된다.

git remote add origin [https://저장소url.git](https://저장소) 을 입력해 조금 전에 생성했던 저장소를 연동합니다. git remote -v 명령어를 통해 연결이 잘 되었는지 확인할 수 있습니다.
git add .을 입력해 생성한 파일 모두 working tree에 추가합니다.git status 명령어를 통해 제대로 추가되었는지 확인할 수 있습니다.
git commit -m "커밋 메시지"를 입력해 추가한 파일을 commit 합니다.git status 명령어를 통해 다시 확인해 볼까요?
모든 파일이 커밋 되어 working tree가 비워졌음을 확인할 수 있습니다!
💡 커밋 메시지는 자유롭게 입력할 수 있지만, 가급적 ‘무엇을’, ‘왜’ 했는지 알 수 있도록 작성하는 것이 좋습니다. 팀원들 간에 ‘Commit Message Convention’을 지정해 더 효율적인 협업을 할 수도 있습니다.
git push origin 브랜치 이름 명령어로 원격 저장소에 commit list를 업로드 합니다.
remote: Invalid username or password. 오류
github의 저장소가 프라이빗이거나 로그인이 풀렸을 때 나타나는 오류이다.
그래서 먼저 기존 원격 저장소를 해체하고$ git remote remove origin다시 연결한다.
$ git remote add origin https://github.com/깃허브아이디/깃허브저장소명.git그리고 상태 확인
git remote -v로컬 저장소의 원격 저장소 지정
$ git push --set-upstream origin mainupstream은 로컬 저장소와 연결되어 있는 원격 저장소를 말한다.
즉 로컬 저장소의 원격 저장소를 위에서 입력한 원격 저장소로 지정하여 push 하는 것이다.
이 명령을 입력하고 나면 push 할 때 git push만 입력하면 된다.
error: src refspec main does not match any error: failed to push some refs to 'https://github.com/.../...git 해결
터미널에서 master에서 main으로 바꾸기git branch -m master main
❓ branch?
브랜치 branch는 이름 그대로 나뭇가지처럼 나뉘어 뻗어나가는 Repository의 가지입니다. 기능에 맞춰 branch를 나누어 작업하고, 작업이 완료되면 합치는(Merge) 식으로 더욱 편한 작업을 할 수 있습니다.
❓ 저는 **master branch가 없는데요?** main branch로 push해보세요! GitHub는 최근 ‘Black Lives Matter’ 운동에 발맞추어 기존의 default branch명인 `master`를 `main`으로 변경하였습니다. 이로 인해 `main` 브랜치가 default branch로 생성되어 있을 수 있습니다.
이제 실제로 저장소에 파일이 업로드되었는지 확인해 볼까요?

성공적으로 commit 내역이 업로드된 것을 확인할 수 있습니다.
파일명이나 커밋 메시지를 클릭하면 더욱 자세한 내용을 볼 수 있습니다.

📎 이후로는 다음 세 가지만 기억하면 됩니다!
git add .orgit add “파일명”
git commit -m 커밋메시지
git push origin 브랜치이름
Organization은 일종의 단체 계정입니다. 개인 계정의 Repository에서도 저장소를 만들고, 다른 개발자를 초대해 협업을 할 수 있지만,
Organization을 사용하면 좀 더 쉽게 단체에 속한 Repository와 멤버를 관리할 수 있습니다.
1) 상단의 + 항목 내의 New organization을 선택해주세요.

2) Create a free organization을 눌러 무료 단체 계정을 생성합니다.

3) 필수 항목을 순서대로 작성하고, Next를 눌러 진행해 주세요.

4) Organization에 초대할 사용자의 이메일을 입력하고, Complete setup 버튼을 눌러주세요.
Skip this step 버튼을 통해 이 단계를 건너뛰고 나중에 진행할 수도 있습니다.

5) 다음은 설문 항목입니다! 따로 입력 없이 Submit 버튼을 통해 단계를 넘어갈 수 있습니다.

6) organization이 생성되었습니다!
이후 Create a new repository 버튼을 통해 organization 내에 새 저장소를 생성할 수 있습니다.


organization 내의 repository는 어떻게 사용하나요?
organization의 repository는 일반적인 개인 계정의 repository와 동일한 방법으로 연동하고, 사용할 수 있습니다. 해당 항목을 참고해주세요!
1) organization 상단 메뉴의 People을 선택합니다.

2) Invite member 버튼을 누르고, 초대할 사용자의 username, 혹은 이메일을 입력해 초대합니다.


3) 초대할 사용자의 권한을 설정하고, Send invitation 버튼을 눌러 사용자에게 초대장을 발송합니다.

4) 초대받은 사용자는 초대를 수락하기 전까지 Pending 상태로 표시됩니다.
(초대는 7일간 유효합니다.)

5) 사용자는 이메일로 발송된 초대장, 혹은 GitHub 계정의 Your organization 항목에서 Join 버튼을 눌러 초대를 수락할 수 있습니다.



