-
[Git] git bash/visual studio code(VSC)로 깃허브에 코드 올리기git 2022. 1. 18. 21:54
나는 visual studio code의 터미널 창을 켜서 했다. 하지만 git bash도 처음 켜서 깃 허브에 올릴 코드폴더의 경로를 입력한 뒤에는 vsc와 방법이 동일하다.
내 컴퓨터에 있는 코드폴더가 로컬저장소로 사용될 것이다.
해당 폴더 우클릭>git bash 실행>git init 입력
아니면 vsc 터미널창 켜서 git init 입력
이러면 폴더 안에 .git 이라는 숨김 폴더가 생긴다.
git status를 치면 현재 상태를 확인할 수 있다.
git add . 을 입력하면(add와 . 사이에 띄어쓰기를 해야한다.) 모든 파일이 추가된다. 만약 하나씩 올리고싶다면
git add testpy.py 이런식으로 입력한다.
git add 명령어로 올린 파일들은 모두 staged된 상태이다.
이제 staged된 파일들을 커밋한다.
git commit -m 커밋메시지입력
커밋까지 한 파일들이 원격저장소에 올라갈 것이다.
원격저장소에 올리기 위해서는 로컬저장소와 원격저장소 사이의 연결고리가 필요하다.
이때 입력하는것이
gir remote add origin 원격저장소레파지토리url
origin 자리는 remote 브랜치명이 들어가는 자리이다. 주로 위에서 쓴것처럼 origin이라고 이름붙인다.
원격저장소레파지토리는 깃허브에 가서 미리 만들어놓고 url을 복사해서 입력하면 된다.
아마도 로컬저장소 - origin - url 로 연결되는 것 같다.
git remote라고 치면 현재 생성된 origin 이라는 브랜치가 보인다.
이제는 원격저장소에 로컬저장소의 파일들을 올릴 수 있다.
git push origin master
origin은 git remote add로 만든 브랜치
master은 내가 push할 로컬브랜치이다. 브랜치명은 main이 될수도있고, 내가 만든 브랜치 이름에 따라 달라진다.
궁금한 점: git push -u origin master 이렇게 쳐도 올라가지던데 -u가 있고없고의 차이가 있나?
그리고 깃허브에 가보면 내가 커밋했던 파일들이 올라가있다. 나는 master branch를 push했기때문에 레파지토리에 들어가보면 master branch가 추가되어있을 것이다.(github의 기본 브랜치는 main이다.)
만약 내 브랜치가 main, 원격저장소의 디폴트 브랜치도 main이라면 git push origin main을 쳤을 때 에러가 날 수 있다. 원격저장소와 로컬저장소가 처음 연결되는거라 반영이 필요하기 때문이다. (로컬과 원격의 브랜치명이 같을 때 이런 일이 발생한다.) 원격저장소의 디폴트 브랜치는 main이니 main을 예로 들어보겠다.
그냥 git pull origin main이라고 하면 또 에러가 난다. 아래처럼 입력해야한다.
git pull origin main --allow-unrelated-histories
그리고 다시 푸시를 한다.
깃허브 로그인을 요구할때는 가입했던 이메일과 생성한 토큰을 입력하면된다. 비밀번호를 입력하는 곳에 토큰을 복사해 넣으면 푸시가 진행될 것이다.
이렇게 첫 푸시를 마친 뒤에는 간단하다.
작성한 파일들 중 추가하고 싶은 것들을
git add 파일명.py
전부 다 올리고 싶으면
git add .
하고
git commit -m 커밋메시지작성
git push origin master
master은 내가 올릴 파일들이 있는 브랜치이다.
이러면 추가했거나 수정된 파일들이 원격저장소에 올라갈 것이다.
pull request는 깃허브에서 A라는 브랜치가 B라는 브랜치에게 pull 해달라고 요청하는 것이다.
예를 들어 testver1이라는 브랜치에서 버그를 수정했다. 그리고 관리자인 admin 브랜치에게 pull request를 요청한다.
admin 브랜치에서는 pull request 탭에 들어가서 testver1이 수정한 코드를 확인한 뒤 merge를 할 수도 있고 안할수도 있다. merge를 하게되면 admin 브랜치에 testver1에서 올린 파일이 들어간다. 그리고 할일을 다한 testver1 브랜치를 삭제할 수 있다.
+추가
git branch를 입력하면 현재 존재하는 branch들의 목록이 나온다.
branch를 새로 만들고싶으면
git branch 새로운브랜치이름
다른 브랜치로 이동해서 작업하려면
git checkout 이동할브랜치이름
git checkout master는 master브랜치로 이동한다.
다시 브랜치를 합치고싶으면
git merge 합치고싶은브랜치이름
예를들어 내가 master branch에 있는데 dev branch와 merge하고싶다면 git merge dev라고 치면 된다.
병합 후 close된 branch를 삭제하려면
git branch -d 삭제할브랜치이름
브랜치 이름을 변경하려면
git branch -m 현재브랜치이름 바꿀브랜치이름
git branch -m master main 이렇게 쓸 수 있다.
저도 git을 처음 배우고 있습니다. 수정할 점이 있다면 알려주세요.
'git' 카테고리의 다른 글
[Git] 깃허브 fork & pull request (0) 2022.01.28