카테고리 없음

Git 연습하기

빈코더 2022. 12. 19. 00:04
728x90

Git Repository 만들기

1. 실험 환경 구축

1-1. git repo를 만든다.

  • 화면 왼쪽 상단에 new 초록 버튼을 클릭한다.
  • repo를 만들고 터미널에서 아래 명령어를 입력한다
  • 마지막 push까지하면 화면이 바뀐다.

1-2. ssh key 생성

  • ssh 키가 있는지 확인
    # cat cat ~/.ssh/id_rsa.pub
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC41jSXWvbK3zzhs6qNppOAZ10nD1AsAYZKWbWJ66VeSE33TUp7zRttk2PcSFGEhqFup5YQDxWmSWx4VmenuNz9XvDLufhicODXoH9+6PNG4AHreAnntUCupWcx9fG3FnISsF/nm6xUxaL+q2gHRPGIEnnfGkxhTFwMEWBeGQX6bgd0MyjQUWwtvLB2b1d+xmym7uzp7EPF15WiwllN6ofhJpWaf+FXBYyzG7ZPxngY1ERz2PKFrE1T0qajg4BxBeqqLA3+WyggPxmW954C5D+dWDdw6jP5s77ZNZOdwUxoaxt/reZMS3X7UtXC9o+bunO26XWfQHq7OESsDrSHtxuvR423bUxPeK+IkHsfcnarRLtaQia0OEwvri7olJcAg501c0/wkDHbYH887SRc+Pj1lqp8ypn4A7Ooug2SSzEYeV1raWBFxXkHy/gmO9m3K/SWNu2LkioWE9LrBFdfeYknFo/dMLdlxqf2d1dcte71bNwhxBEqVNrMwrrE2mJbHR8= songbinho@songbinhoui-MacBookPro.local
  • ssh 키가 없으면 생성
  • ssh git에 등록하기(gitgub -> 오른쪽 상단 프로필 클릭 -> setting -> 왼쪽 메뉴 SSH and GPG keys -> new ssh key -> 생성)

1-3. 생성한 git repo 다른 디렉터리에 ssh로 clone해보기

  • 가운데 상단에 code 부분을 클릭하면 아래와 같은 창이 생긴다.
  • ssh를 클릭하면 생기는 url을 복사해서 git init 명령어를 사용 후에 clone해보자.

2. Test

2-1. 간단한 파일 생성 및 push

  • 디렉터리에 들어가서 파일을 생성 후에 push 해보자
  • 순서는 파일 생성 -> 파일 작성 -> git add -> git commit -> git push 순서이다.(중간에 순서 실수 ..)

2-2. 간단한 수정 후 push

  • 파일을 수정하고 push 해보자
  • vim, namo 등을 사용하여 수정 후에 push 해보자

2-3. branch 생성,파일 수정 후 push, merge

  • branch를 생성하고 파일을 생성 후에 push한다. (checkout -b 옵션을 사용하면 branch 생성과 동시에 브랜치로 이동한다.)

  • branch를 push하려고 하니 push가 안된다.

    fatal: The current branch feature/test1 has no upstream branch.
    To push the current branch and set the remote as upstream, use
    
      git push --set-upstream origin feature/test1
    

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

- 위와 같은 에러가 발생하는데 여기서 upstream은 로컬과 연결된 원격 저장소를 말한다. 원격 저장소를 연결해주라는 얘기 같다.
- git push --set-upstream origin feature/test1 명령어를 입력하면 된다.
- 그리고 github를 확인해보면 pr(pull request)를 할 수 있다.
- compare & pull request를 눌러서 pr을 올려보자
- merge까지 완료하면 feature/test1 branch의 수정 내용이 main에 합쳐진다.
#### 2-4. bracnh 생성, 파일 생성 후 push, rebase - 이번엔 rebase이다. rebase는 git history를 깔끔하게 관리 할 수 있다. - branch를 다시 main으로 이동 후 git pull 명령어를 사용하여 최신화를 시켜준다.
- 이제 branch를 생성 후 2-3에서 했던 작업을 똑같이 해주자 그리고 pr까지 올려주자. - merge버튼 옆에 아래 화살표를 클릭하면 3가지중에 선택하여 진행할 수 있다. rebase and merge를 눌러주자
- 그럼 완료 #### 2-5. complict만들어서 해결하기 - merge할때 comflict가 나는 경우가 종종있다.. 문제를 만들어서 해결해보자. - 일단 branch를 하나 만들고 기존에 있던 파일을 수정해보자.
- brach_test1의 파일을 수정하고 그걸 commit하고 checkout해서 main으로 가서 똑같은 파일을 수정해주자
- 그 다음에 rebase를 진행해보자.
- 수정한 파일을 확인해보면 아래와 같이 나온다.
- 둘중 원하는거로 수정 후 add 후에 rebase continue를 해주자
- commit후에 push 해주면 잘 된다.(idea 파일은 언제 생긴지는 잘 모르겠다...)\
728x90