Mac M1 에서 Github를 시작하기 전에....
Git은 컴퓨터 파일의 변경사항을 추적하고 여러 사용자들 간 파일의 작업을 조율하기 위한 분산형 버전관리 시스템이다. 소프트웨어 개발에 있어 소스 코드 관리에 주로 사용하며 어떤 집합들의 파일의 변경사항을 지속적으로 추적하기위해 사용할 수 있다. 즉 소스 코드의 형상관리를 위해 사용되는 툴이라고 볼 수 있다.
그렇기 때문에 깃은 소스코드를 따로 주고 받을 필요 없이 Git을 사용하여 하나의 프로젝트 구성에 있는 같은 파일을 여러 사람이 동시에 작업하는 병렬 개발 및 같은 파일의 각각의 다른 버전을 저장하는 것이 가능하다는것을 가장 큰 장점으로 볼 수 있다.
Github는 분산 버전 관리 툴인 깃을 사용하는 프로젝트를 지원하는 웹호스팅 서비스로 영리목적과 오픈소스를 위한 무상서비스를 모두 제공하는 서비스이다. 즉 버전 관리와 협업을 위한 코드 웹 호스팅 플랫폼으로 볼 수 있다.
- 깃은 소프트웨어 개발시 소스 코드를 효과적으로 관리 할 수 있는 무료, 공개 소프트웨어이다.
- 깃은 프로젝트 폴더 내에서 작업을 기록하고, 버전 관리를 통하여 체계적인 개발이 가능하도록 한다.
Github 용어정리
1. Repository : 저장소 / 이름 그대로 파일이나 폴더를 저장해두는 저장소.
2. Commit : 파일 추가 , 변경내용을 저장소(Repository)에 저장하는 일련의 작업.
3. Push : 추가 , 변경 내용을 원격 저장소에 업로드 하는 일련의 작업.
4. Branch : 여러 인원이 하나의 프로젝트에서 작업시, 메인 프로젝트의 브렌치를 따와서(Branch off)하여 , 자신이 변경하고 싶은 자신만의 버전을 생성. 작업완료 후 프로젝트 메인 디렉토리인 Master에 브랜치를 다시 Merge하는 방식. 즉 새코드의 테스트 혹은 새 기능을 넣어서 사용해 보기 위해 사용할 수 있는 따로 떨어진 독립적인 Commit를 말하게 된다.
5. Master Branch : 새 프로젝트를 만들 때 마다 생성되는 기본 브랜치, 작업이 최종적으로 마무리되는 브랜치로 가장 메인이 되는 브랜치이다.
6. Version Control : 기본적으로 깃이 서비스되도록 고안된 목적으로 프로젝트 히스토리에 대한 모든 시점의 스냅삿을 유지하는 기능이다.
7. wiki : 링크들간 연결해 간단한 웹페이지를 만드는 방식으로 . 프로젝트 문서작성에 사용.
8. clone : repository를 사용자 컴퓨터로 복사하는 과정.
9. fork : 상대방의 오픈소스를 직접 변경하여 자신의 계정에 그프로젝트의 복사본을 만든다음 수정하는 행위.
Git 주요 명령어 정리
git init:
깃 저장소를 초기화
저장소나 디렉토리 안에서 이 명령을 실행하기 전까지는 그냥 일반 폴더이다. 이것을 입력한 후에야 추가적인 깃 명령어들을 줄 수 있다.
git config:
“configure”의 준말, 처음에 깃을 설정할 때 가장 유용
git help:
커맨드 라인에 이걸 타이핑하면 21개의 가장 많이 사용하는 깃 명령어들이 나타난다.
“git help init”이나 다른 용어를 타이핑하여 특정 깃 명령어를 사용하고 설정하는 법을 이해할 수 있다.
git status:
저장소 상태를 체크.
어떤 파일이 저장소 안에 있는지, 커밋이 필요한 변경사항이 있는지, 현재 저장소의 어떤 브랜치에서 작업하고 있는지 등 볼 수 있다.
git add:
이 명령이 저장소에 새 파일들을 추가하진 않는 대신, 깃이 새 파일들을 지켜보게 한다.
파일을 추가하면, 깃의 저장소 “스냅샷”에 포함된다.
git commit:
깃의 가장 중요한 명령어.
어떤 변경사항이라도 만든 후, 저장소의 “스냅샷”을 찍기 위해 이것을 입력.
보통 “git commit -m “Message hear.” 형식으로 사용한다. -m은 명령어의 그 다음 부분을 메시지로 읽어야 한다는 것을 말한다.
git branch:
이 명령어는 새로운 브랜치를 만들고, 자신만의 변경사항과 파일 추가 등의 커밋 타임라인을 만든다.
새 브랜치를 “cats”로 부르고 싶으면, git branch cats를 타이핑.
git checkout:
현재 위치하고 있지 않은 저장소를 “체크아웃”할 수 있다.
이것은 체크하길 원하는 저장소로 옮겨가게 해주는 탐색 명령이다.
master 브랜치를 들여다 보고 싶으면, git checkout master를 사용할 수 있고, git checkout cats로 또 다른 브랜치를 들여다 볼 수 있다.
git merge:
브랜치에서 작업을 끝내고, 모든 협업자가 볼 수 있는 master 브랜치로 병합할 수 있다.
git merge cats는 “cats” 브랜치에서 만든 모든 변경사항을 master로 추가한다.
git push:
로컬 컴퓨터에서 작업하고 당신의 커밋을 깃허브에서 온라인으로도 볼 수 있기를 원한다면, 이 명령어로 깃허브에 변경사항을 “push”한다.
git pull:
로컬 컴퓨터에서 작업할 때, 작업하고 있는 저장소의 최신 버전을 원하면, 이 명령어로 깃허브로부터 변경사항을 다운로드한다(“pull”).
Mac M1 에서 Git/Github 시작하기.(설치편)
Mac M1에서 Git설치를 진행하기전 Homebrew를 우선 설치 해야한다. Homebrew에 대한 설치방법 및 Git설치방법은 간략하게 설명하도록 하겠다.
1. Homebrew 설치하기
1.1. Terminal 열기
1.2. 아래의 설치명령어 Terminal상에 붙여놓고 Homebrew 설치진행.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1.3. brew help 명령어를 통하여 homebrew가 제대로 설치됐는지 확인
1.4. zsh: command not found : brew 에러시 아래의 명령어 입력
eval $(/opt/homebrew/bin/brew shellenv
1.5 그외 오류 해결 방법
# We'll be installing Homebrew in the /opt directory.
$ cd /opt
# Create a directory for Homebrew. This requires root permissions.
$ sudo mkdir homebrew
# Make us the owner of the directory so that we no longer require root permissions.
$ sudo chown -R $(whoami) /opt/homebrew
# Download and unzip Homebrew. This command can be found at https://docs.brew.sh/Installation.
$ curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
# Add the Homebrew bin directory to the PATH. If you don't use zsh, you'll need to do this yourself.
$ echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.zshrc
2. Git설치
2.1 Terminal 열기
2.2 아래의 설치명령어를 Terminal 상에 붙여놓고 Git 설치 진행
brew install git
2.3 설치 진행후 아래의 명령어를 통하여 설치 버전 확인하기
git --version
2.4 위의 설치버전이 정상적으로 출력되면 정상 설치완료.
Mac에서 Git/Github 시작하기.(설정편)
위에서 Git에 대한 정의 및 용어 그리고 명령어에 대하여 간략하게 정리해보았다 이제 Mac에서 Git/Github를 사용하기 위하여 Git/Github을 설치하고 설정하는 방법을 알아보도록하자.
1. Homebrew와 Git을 Mac M1 Terminal에 설치를 진행하였다면 Git의 Config를 설정하도록 해보자.
2. 우선 https://github.com 에 접속하여 1. 계정을 생성한 후 생성한 ID 인 Email과 Password를 기억하도록 한다.
3. Git을 이미 위에서 Mac에 설치를 완료 하였기때문에 Git초기설 정을 진행해본다
git config --global user.name "Your Name Here"
git config --global user.email "your_email@youremail.com"
Your Name과 Your_Email에 2에서 생성한 이메일과 개인닉네임을 써서 명령창어를 통하여 Git을 초기설정을 진행한다.
4. 링크 https://github.com에서 생성한 아이디에 접속하여 아래의 그림처럼 New를 클릭하여 Repository를 생성한다.
Repository는 위에서 말했듯 저장소의 개념으로 일종의 폴더로 생각하면 된다.
※ Public -> 무료 (모든 사람에게 코드를 공개) , Private -> 유료 !!! -> (원하는 사람에게만 코드 공개)
※ 밑에 있는 체크박스 3개는 무시해도 좋다.
5. Repository를 생성하게 되면 아래의 Reposirtoy에 대한 Command line 명령어가 생성되는데 해당 박스에 대한 절차를 따라간다.
6. 절차를 따라가기위해 Mac 의 Terminal을 열어준 후 새로운 디렉토리를 생성하고 mkdir new_git_project . 해당 디렉토리에서 위의 절차를 따라가자
7. 새로운 디렉토리에서 git init 명령어를 입력 위의 명령어 정리를 살펴보면 git init 은 깃 저장소를 초기화하는 명령어로
해당 디렉토리가 로컬 git 저장소라고 알려주는 명령어이다.
8. git init을 해주었으면 git add .을 입력하여 해당 디렉토리 안의 모든 수정된 파일을 올린다 . 만약 모두 올리기 싫다면 git add filename을 해주면 된다.
9. git commit -m "first commit"을 터미널에 입력한다. commit은 위에서 정리한것과 마찬가지로 수정된 모든 사항을 적용하겠다는 의미로 해석하면 된다.
※ "first commit" 큰따옴표 안의 내용은 "~한 작업을 수정함"과같은 명확한 메세지를 입력해주어도 상관없다. (다른 타인이 확인해볼 수 있도록 )
※ Commit은 습관을 길러 Command +z 하는 작업의 단위로 Commit 하도록 트레이닝 하도록 하자.
10. Commit이후 git remote add origin https://github.com/JungHocheul/colab_test.git 을 입력하여 뒤의 origin 뒤의 링크는 git페이지의 자신의 주소가 나와있는 커맨드라인으로 로컬 저장소와 git홈페이지를 연결해주는 작업이다.
git remote add origin https://github.com/JungHocheul/colab_test.git
11. 마지막으로 git push -u orgin master를 입력하면 Git repository로 파일이 옮겨지는 마무리 작업을 진행하게 된다.
12. 이제 Git의 나의 Repository로 가서 commit이 잘 됐는지 확인하여 본다면. Repository안에 내가 Commit하여 Push한 파일이 업데이트 되어있는것을 확인해 볼 수 있을 것이다.
PS.개인엑세스 토큰 생성방법
2021. 08.13 부터 Github 작업은 Git 작업을 인증할 때 비밀번호 대신 토큰을 사용하게 변경했다.
이에따라 PAT(Personal Access Token)을 추가 해야 한다.
1. Github 로그인
2. 계정 Setting 클릭
3. Developer Settings 클릭
4. Personal Access Tokens -> new Generate token 클릭
5. Note, Expiration, Select Scopes등 필수 정보 입력 후 ,토큰생성 버튼 클릭.
6. 토큰 저장 및 인증시 사용