맥에서 깃(Git) 처음 사용해보기

단이·2024년 1월 20일
post-thumbnail

참고1 : Git GUI 소스트리(SourceTree) 설치방법과 사용방법
참고2 : 깃, 깃허브 제대로 배우기 (기본 마스터편, 실무에서 꿀리지 말자)
참고3 : Git & Sourcetree - 로컬 저장소와 원격 저장소 연결하기

외에는 챗지피티를 이용하여 작성하였다.

해당 글에서는 터미널로 Git을 이용한 로컬 커밋과 SourceTree로 로컬 커밋을 하고, GitHub를 소스트리와 연결해 원격 푸시를 해보는 연습을 할 것이다.


✏️Homebrew 설치하기

git을 mac에서 사용하려면 Homebrew라는 mac 전용 패키지 관리 도구를 설치해야함

  1. https://git-scm.com/ 에 접속한 후 downloads 클릭
  2. macOS 클릭
  3. homebrew 클릭
  4. 설치 명령어 복사
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 

  1. 터미널 켜기
  2. 터미널에 해당 명령어 붙여넣고 설치 시작
  • 만일 you have not agreed to the xcode license. 라고 뜬다면
    터미널에 아래 명령어 입력
sudo xcodebuild -license //sudo는 사용자 권한 명령어
  • 맥 비밀번호 입력 후 엔터
  • agree 타이핑 후 엔터
  1. 설치가 완료 됐으면 brew help 입력해서 잘 설치됐는지 확인
  • 만일 M1 Mac을 사용해서 zsh: command not found: brew 라고 뜬다면 터미널에 아래의 명령어들 입력
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc


이렇게 뜨면 Homebrew 설치 완료


✏️깃(Git) 설치 하기

맥에 기본적으로 깃이 설치 돼 있지만 운영체제 업데이트 때 마다 업데이트 되므로 늘 최신버전으로 유지되지는 않는다. brew를 통해 설치하면 최신 버전 업그레이드와 제거가 용이하다.

  1. 터미널에 아래 명령어 입력
brew install git
  1. 설치 버전 확인 명령어 입력
git --version

#맥에 기본적으로 설치 돼 있는 깃의 버전이 뜰 것이다
git version 2.39.3 (Apple Git-145)
  1. brew에서 설치한 깃을 우선 사용하면 좋겠으므로 해당 명령어들을 터미널에 입력
echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
  1. 다시 버전 확인
git --version

#brew를 통해 설치된 깃의 버전
git version 2.43.0

위처럼 버전이 제대로 뜬다면 깃 설치 완료


✏️터미널에서 깃(Git) 초기설정

  1. 사용자 정보 및 기타 설정
#--global : git에 대한 설정을 전체적인 디렉토리에 적용하는 옵션
#유저 네임 설정
git config --global user.name "Danee" 
#사용하는 이메일 입력
git config --global user.email "danee@mail.com"
#파일 공유시 윈도우와 맥에서 줄바꿈 설정 때문에 서로 충돌하지 않게 수정해주는 명령어
git config --global core.autocrlf input
  1. 커밋 메시지를 작성할 때 사용할 텍스트 편집기를 Visual Studio Code로 설정하는 방법
  • 사용자가 선호하는 텍스트 편집기를 사용하여 메시지를 편집할 수 있게 하기 위한 것으로 나는 Visual Studio Code를 사용
#Visual Studio Code를 텍스트 편집기로 설정
git config --global core.editor "code --wait"
#Visual Studio Code의 실행 경로를 PATH에 추가
export PATH="/Applications/Visual Studio Code.app/Contents/Resources/app/bin:$PATH"
#변경된 환경변수 적용하는 명령어 아래 명령어를 쳐도 되고 터미널 재시작을 해도 됨
source ~/.zshrc


⬆️ Visual Studio Code 실행하여 검색창에 code 검색 후셸 명령:PATH에 'code'명령 설치 클릭하고 터미널에 code .을 입력하면 실행된다.

  1. 잘 적용 됐는지 확인하기
#전역 설정 확인하기
git config --list
  • 유저 네임, 유저 이메일, 설정된 편집기 등 Git에서 사용자의 전체 환경에 적용되는 설정을 확인할 수 있다.

✏️터미널에서 깃(Git) 사용 준비

참고한 영상을 따라 실습을 한 것을 기록

1. 깃 초기화

#원하는 폴더로 이동
cd git
#해당 디렉토리를 git 로컬저장소로 설정하는 명령어
git init
  • git init 명령어는 내가 현재 있는 디렉토리에 .git 이라는 숨겨진 폴더를 생성하여 해당 디렉토리 내에 있는 모든 파일과 폴더의 변경 사항을 추적함. 다른 프로젝트를 시작할 때엔 해당 명령어를 사용해서 깃 초기화를 해줘야 함. ls -al 명령어를 사용하면 숨겨진 폴더 확인 가능

2. 파일 생성 및 스테이징 영역에 추가

  • 파일 생성
#a.txt, b.txt, c.txt 파일 생성
echo hello world! > a.txt
echo hello world! > b.txt
echo hello world! > c.txt
#만들어진 파일 확인
ls
a.txt b.txt c.txt
#또는 폴더를 직접 열어 확인, 명령어와 .사이의 공백에 주의
open . 
  • 스테이징 영역 확인
git status
#현재 브랜치는 master이다
On branch master

#아직 아무 커밋도 되지 않았다
No commits yet

#아직 스테이징되지 않은 Untracked 파일들을 보여줌
Untracked files:
  (use "git add <file>..." to include in what will be committed)
	a.txt
	b.txt
	c.txt

#git add 명령어를 이용해 파일을 track 할 수 있다고 알려줌
nothing added to commit but untracked files present (use "git add" to track)

아직 파일들이 스테이징 되지 않았기 때문에 현 상태에선 수정을 해도 git이 track(추적)하지 않는다.

  • 스테이징 영역에 파일 추가 및 확인
#아래 두 가지 중 하나만 선택
#a.txt b.txt c.txt파일을 스테이징
git add a.txt b.txt c.txt
#현재 브랜치 내에 있는 .txt 파일을 모두 스테이징
git add *.txt
#다시 스테이징 영역 확인
git status
On branch master

No commits yet

#커밋이 준비된 파일들을 보여줌
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   a.txt
	new file:   b.txt
	new file:   c.txt
  • tracked 파일인 a.txt 수정해서 modified 파일 확인하기
#danee라는 새로운 줄을 a.txt에 추가
echo danee >> a.txt
git status

On branch master

No commits yet

#스테이징 영역에 수정되기 전 a.txt가 있음
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   a.txt
	new file:   b.txt
	new file:   c.txt

#수정된 a.txt 파일이 작업 디렉토리에 있다고 알림
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:   a.txt #작업 디렉토리의 a.txt파일이 modified 파일이 됨
#작업 디렉토리, 스테이징 영역에 각 다른 a.txt가 존재하게 됨

위와 같이 a.txt파일이 스테이징 영역에 있어 tracked 파일이 됐기 때문에 수정이 되자 추적해서 modified(수정된) 파일이라고 알려주는 것을 확인할 수 있다.

3. 커밋 및 히스토리 확인

  • 아무런 옵션 없이 커밋
git commit


위처럼 기본적인 템플릿이 나옴. Title, Description(설명)을 적은 후 command+s를 눌러 저장 후 나오면

[master (root-commit) 4daf1b3] Title #Title이라는 커밋 메세지, 4daf1b3이라는 해시값의 제일 앞부분 표시
 3 files changed, 4 insertions(+) #이 커밋에서 세 개의 파일이 변경되었고, 그 중에서 4개의 라인이 추가되었음을 의미
 create mode 100644 a.txt #100644는 기본 파일 권한이며, a.txt라는 파일이 추가되었음
 create mode 100644 b.txt
 create mode 100644 c.txt
  • 히스토리 확인
git log
commit 4daf1b325f26a10918d6da395c8439af9ba9c98d (HEAD -> master) #커밋 해시값
Author: Danee <danee@mail.com> #누가 작성했는지
Date:   Sat Jan 20 18:24:54 2024 +0900 #언제 작성했는지

    Title #커밋 메세지

    Description #자세한 설명
  • 두 번째 커밋 해보기
#fighting이라는 줄을 a.txt에 새로 추가
echo fighting >> a.txt
#modified된 a.txt를 다시 스테이징
git add a.txt
#확인
git status
#다시 커밋, 보통 아무 옵션 없이 하는 커밋보다 이 옵션을 자주 씀
git commit -m "Second commit"

[master e698b6a] Second commit
 1 file changed, 1 insertion(+)
 
#히스토리 확인
git log
 
commit e698b6a0b29d0a6cef09691775b88ba5af93ca8b (HEAD -> master)
Author: Danee <danee@mail.com>
Date:   Sat Jan 20 18:44:51 2024 +0900 #+0900은 시간대

    Second commit

commit 4daf1b325f26a10918d6da395c8439af9ba9c98d
Author: Danee <danee@mail.com>
Date:   Sat Jan 20 18:24:54 2024 +0900

    Title

    Description

⬆️ 첫 번째 커밋에선 a, b, c 파일을 스테이징 영역에 추가하고 커밋했으므로 a, b, c 파일의 상태는 Unmodified가 됨
두 번째 커밋에선 a 파일을 수정하여 modified상태였으며, 수정된 내용을 스테이징 영역에 추가하고 커밋했으므로 b, c 파일은 수정되지 않았으므로 그대로 Unmodified 상태이고 a는 다시 Unmodified가 됨


✏️소스트리(Sourcetree)로 깃 사용 준비

  1. Sourcetree 홈페이지에 접속하여 소스트리 다운로드 후 응용 프로그램으로 옮기기
  2. 소스트리 앱 접속
  3. 회원가입이 되어있지 않다면 Create one for free.를 클릭하여 계정 생성 후 Bitbucket UI를 눌러 로그인
  4. Mercurial은 설치 안 해도 되고 사용 데이터도 보낼지 선택한 후 SSH키도 아니오를 누름
  5. 설치가 다 되면 준비 완료

✏️소스트리에서 깃 이용해서 커밋 하기


소스트리 UI창에 현재 내가 작업하고 있는 폴더를 끌어와서 더블클릭 후 해당 창이 뜨면 정렬 방식에서 스테이지 뷰 나누기를 선택하면 위와 같이 스테이지에 올라간 파일(스테이징 영역에 있는 파일), 스테이지에 올라가지 않은 파일(작업 디렉토리에 있는 파일)을 확인할 수 있다.
이외에도 우측과 같이 무엇이 수정됐는지도 확인이 가능하다.


파일을 수정하고,

⬆️ 위와 같이 소스트리를 누르고 스테이지에 올라가지 않은 파일 중 원하는 파일 체크를 누르면 스테이징이 된다. 우측의 파일 내용이 표시되는 곳에서 각 줄을 클릭해서 클릭한 부분만 스테이징 하거나 여러 줄의 코드 뭉치를 스테이징 하는 것도 가능하다.
하단의 메세지 커밋에서 커밋 메세지를 작성하고 commit을 누르면 커밋도 소스트리에서 가능하다.


깃은 명시적인 종료 과정이 없으므로 작업 디렉토리에서 벗어나거나 터미널을 종료하면 종료된다고 생각하면 됨.
소스트리는 상단 막대메뉴에서 소스트리 클릭 후 Sourcetree 종료를 누르면 됨.
작업이 완료 되고 스테이징을 한 후에 벗어나는 것을 추천.


✏️Sourcetree와 Github 연결해서 원격 저장소에 커밋하기

  1. 깃허브 홈페이지에 접속해서 회원가입 후 로그인
  2. 새 원격 저장소(New Repositories) 생성(저장소 이름 정하고 생성하기 누르기)
  3. 소스트리 실행 후 우측 상단의 설정 - 원격 - 추가 누르기
  4. 2번에서 생성한 저장소의 이름과 url 넣고 확인 클릭
  5. 왼쪽 하단에 추가된 원격 저장소 확인
  6. 상단의 푸시 버튼을 눌러 원하는 브랜치 푸시
  7. 깃허브 계정 정보 입력
  8. 히스토리에서 업로드 됐는지 확인
  9. 내 원격 저장소 페이지에서도 확인

0개의 댓글