EtoC
Git 사용하기 본문
1. github 회원가입
2. 로컬에 프로젝트 폴더 생성
원하는 위치에 폴더를 만들거나 데스크톱에 원하는 명의 폴더를 생성하면된다.
3. git repository 생성
아래의 이미지에 나온대로 하면된다.
4. git init
터미널을 열고 로컬에 생성한 프로젝트 폴더로 이동한후에 아래의 명령어를 입력한다.
cd 폴더명
git init
git 메인 브랜치 명 변경하기
굳이안해도 된다고생각하지만 가끔 메인으로 바꿔서 해달라는 요청이있어서 바꾼적이 있다.
아래의 명령어를 입력하면 master로 뜨던 브랜치명이 main으로 변경된다.
git branch -M main
5. git 레포주소와 로컬 연결하기
git remot add origin repository address
위의 명령어를 입력하면 주소가 연동되고 깃이 자동으로 추적하게된다.
잘 연결되었는지(어떤 레포에 연결되어있는지) 확인하려면 아래의 명령어를 입력하면 된다.
git remote -v
6. git branch
혼자서 작업을 한다면 브랜치를 따로 만들 필요가 없겠지만
같이 작업하는 사람이있을경우에는 branch를 따로 만들어서 작업해야한다.
branch 생성
아래의 명령어를 터미널에 입력하면 브랜치명으로 새로운 브랜치가 생성된다.
git branch 브랜치명
추가로 아래의 명려엉를 쓰면 브랜치를 새로 만들면서 그경로로 바로 이동하여 편리하다.
git checkout -b branchName
꽤 자주 브랜치만들고 이동을 안하는 내게 정말 좋은 명령어인듯
이제 코드를 작성하면된다.
6. git에 올리기
코드를 작성하고 나면 git에 올려야할텐데 처음 사용했을때 가장많이하던 실수가 이부분이 아닐까싶다.
바로..
0-1) branch 확인하기
올리기전에 현재 내가 어떤 브랜치에있는지 꼭 확인하자.
처음 git을 사용해봤을때 나의 브랜치에 누군가 자신의 작업물을 올려 계속해서 충돌난적이있는데 해결하느라 정말 고생했다.
또 main이나 master브랜치에 바로 push 할 경우 회사라고 생각하면 아찔하다.
현재의 브랜치를 확인하는 방법은 git branch를 입력하면 된다.
git branch
만약 브랜치를 나눠서 작업중이였는데 현재위치가 master(main)이라면
브랜치를 변경하고 add를 해야한다.
0-2) branch 변경하기
git checkout 브랜치명
1. git add
git add .
.
은 터미널의 기준(pwd)에서 (index.js)파일이 있는위치에서 add를 작성해야한다.
git add만 치거나 git add.을 치거나해서 안올라간 경우가 많았다.
1-1. git status
add를 한 후에 반드시 잘 add 가 되었는지 확인하자.
2. git commit
git add를 하면 어떤 것을 했는지 commit 로그를 남겨야한다.
git commit -m "커밋 메세지"
2-1. git log
commit을 남긴후 git log
를 입력하여 커밋이 잘 올라갔는지 확인하자.
3. git push
이제 깃에 올리면 된다.
git push origin main
git push origin branch이름
7. pull & request
푸쉬후 레포지토리에 가면 아래와같은 이미지가 뜬다.
compare & pull request
를 누른뒤 어떤 작업을 했는지 설명해주면
확인후 merge해주거난 리뷰를 달아줄것이다.
PR을 남기는 이유는 내가작성한 코드를 병합시켜달라고 요청하는것으로 메인브랜치와 나의 브랜치를 비교한다.
PR을 보낼때 안에 내가짠코드와 생각들을 적어서 보내야 보게될 사람이 내가한 작업을 잘 이해할 수 있기때문에 잘 작성해야한다.
내가보낸 PR이 merge되면 내 로컬의 main을 업데이트를 해주어야한다.
8. git merge
git pull
프로젝트 폴더의 터미널로 돌아와서 git상에 merge된 master(main)을 pull해온다.
git pull origin master(main)
이때 나의 브랜치위치는 master나 main이여야한다.
위의 이미지처럼 나의 로컬의 master(main)브랜치가 업데이트 되면
다시 작업하던 브랜치로 바꿔주고 merge(병합)하면 된다.
git checkout 작업하던 브랜치
git merge origin master(main)
그러면 아래와 같이 merge 커밋에관한 이미지가 뜨는데 :wq
를 입력하면 저장하고 나오자.
그러면 merge도 완료!
이러한 작업을 반복해나가면서 사용하면된다.
추가로 여러명이 작업할때 merge시 자주 겪은 충돌이 있는데,
같은시점에 여러개의 브랜치를 만들어서 작업할 경우 merge하려할때 충돌이난거였다.
이때 Resolve conflicts를 누르면 꽤나 복잡해지기때문에 로컬에서 충돌을 해결하고 다시 푸쉬하였다.
🤔 내 오전이..git rebase는 언제쓰지;;