Git_[3.1] git issue_초기 세팅

Leejaegun·2024년 9월 15일

Git

목록 보기
5/32
post-thumbnail

1. Git 등록하기

① 유저이름,이메일 설정

git config --global user.name *your_name* #이름설정
git config --global user.email *your_email* #이메일.
git config --list #정보확인.

등록하고 나면 repo를 만들자.

2. git repo 만들기


처음에 이렇게 뜰거임. 각각 의미를 알아보자

git init : git 환경을 초기화

git add : 원격저장소에 add함 (git add . 하면 모두 업로드됨)

git commit -m "first commit" : 메세지와 함께 코드 변경 커밋

git branch -M main : -M은 이름을 변경한다는 옵션으로 -M명령어로 브랜치 이름을 main으로 하겠다는 것.

git remote add origin https://github.com/2JAE22/developer-git-practice.git : git local repo에 remote repo를 origin이라는 이름으로 등록함

git push -u origin main : origin이라는 원격저장소의 'main'브랜치에 업로드 시킴.
-u는 --set-upstream 으로 local repo에 origin 을 원격저장소로 등록한다는 의미.-> 최초 한번만 실행되며 이후에는 git push origin branch_name하면됨.

3. git branch 명령어

새로운 브랜치 생성

git branch new_branch_name

새로운 브랜치 생성 후 해당 브랜치로 전환

git checkout -b new_branch_name
git switch -c new_branch_name

Remote repo 에도 생성한 브랜치를 반영할려면

git push origin new_branch_name

ex)

//dev 브랜치를 만들어 해당 브랜치로 이동
git checkout -b dev #새로 만듦

git push origin dev #로컬의 dev브랜치를 origin 이라는 원격저장소에 push 하겠다. -> 이제 원격에도 dev 브랜치가 생김.

//브랜치가 잘 생성되었는지 확인
git branch

브랜치 목록확인

git branch

브랜치 목록과 각 브랜치의 최근 커밋 확인

git branch -v

브랜치 삭제

git branch -d 삭제할 브랜치 이름
git branch -D # 병합하지 않은 브랜치를 강제삭제.

브랜치 전환

git switch 브랜치이름
git checkout 브랜치이름

브랜치 병합
main브랜치로 dev브랜치가 병합할때)
-> merge 하기 위해서는 먼저 병합할 브랜치로 이동 git switch main

git checkout main #병합하고 남을 브랜치
git merge dev  #병합하고 없어질 브랜치

병합을 취소하고 이전 커밋으로 되졸리기

git reset --hard 커밋넘버

ㄹ=로그에 모든 브랜치를 그래프로 표현

git log --branches --graph --decorate

아직 commit 하지 않은 작업을 스택에 임시로 저장

git stash

Git workflow

프로젝트 전체 진행은 다음과 같다.
Local에서 새로운 브랜치를 생성(dev)하고 작업이 끝나면 Remote Repository 로 Push 한다.

그리고 Project Upstream Repository에 반영(merge)될 수 있도록 Pull Request 한다.

만약 작업하던 중간에 Remote upstream 에 업데이트가 생긴다면 Local 로 pull 받아주어야 한다는 것을 잊지 말자!

4. 그외 Git 명령어

원격저장소 목록

git remote #원격저장소 목록
git remote -v # 원격저장소 목록과 URL정보를 같이 보여줌

현재 작업 디렉터리 상테

git status

현재 작업중인 변경사항 임시 저장하고 작업 디렉터리 깨끗하게

git stash

fetch 와 pull의 차이점
git fetch : 원격 저장소의 최신 변경 사항을 가져오기만
git pull = git fetch + git merge -> 원격저장소에서 변경사항을 가져온 뒤,이를 자동으로 로컬 브랜치에 병합함


🤔 굳이 git fetch가 있는 이유?
👉 git fetch는 더 더 세밀한 제어안전한 작업흐름 때문에 존재
git pull이 자동으로 병합해주어서 편리하지만, 자동병합이 문제를 일으킬 수 있음.


git 기록보기

git log

****

****

****

profile
Lee_AA

0개의 댓글