이번 포스트는 원격 레파지토리에 로컬에서 만든 파일을 업로드해보겠다.
윈도우에선 따로 vi 명령어를 제공하지 않기 때문에 git bash를 이용한다.
내용 입력 후 저장한다.
git status 명령어를 입력해보자
git status
현재 newfile이라는 commit되지않은 파일이 존재하고
git add 명령어를 이용해서 track file로 바꾸어야한다는 것을 보여준다.
newfile을 add해주었다.
이때, warning이 발생했는데 관련 정보, 수정은 아래 블로그를 참고하자.
https://dabo-dev.tistory.com/13
status를 확인해보자.
이제 commit되어야할 파일이 보인다.
commit은 원격저장소에 파일을 올리기 전에 나는 이런 것을 올릴 거야 땅땅땅하는 것이라고 이해하면 된다.
우리가 commit을 할 때 1개의 파일만, 2개, 3, 4, ... 등
특정 파일만 commit하고 싶은 경우가 있을 것이다.
이러한 과정을 stage에 올린다라고 한다.
위 사진에서 add된 new file은 stage에 올라간 상태이고 반영을 하지 않는다면 unstage 해주어야한다.
새로운 파일을 하나 만들어 보자.
여기서 확인할 수 있듯이
newfile은 stage file,
newfile2는 unstage file이다.
commit을 해보자.
-m 인자는 커밋 내용(메시지)을 남기겠다는 인자이며 뒤에 문자열을 입력해주면 된다.
unstage파일을 제외하고 newfile이 커밋된 것을 볼 수 있따.
Your branch~~는 원격 저장소(origin)보다 너의 branch가 1 커밋 앞서있다는 뜻이다.
즉, 우리가 방금 파일을 땅땅땅 도장을 찍었고 이제 변경을 해주어야한다는 뜻이 되겠다.
원격에 넣어주려면 git push 명령어를 이용하면 된다.
origin branch에 main branch 내용을 push하겠다 라는 뜻이다.
저장소로 가보자
commit 내용이 반영된 파일이 올라간 것을 볼 수 있다.
아까 생성한 newfile2를 add하여 stage에 올리고,
restore를 통해 unstage해준 모습이다.
이렇게 파일을 하나하나 stage에 올리고 내릴 수 있는데 많은 파일을 변경해주어야 한다면 번거러운 작업이 될 것이다.
우선 여러 파일을 만들어보자.
모든 파일을 stage에 올리고 싶다면
git add --all
git add .
둘 중에 하나를 입력하면 된다.
한 번에 올라간 것을 볼 수 있다.
또한 여러 파일 중에 몇 개를 제외하고 올리고 싶을 수도 있다.
우선 stage에서 위 파일들을 내려준 후 oldfile4로 바꾸어 주었다.
*를 통해서 add를 해준다.
oldfile4를 제외하고 stage에 올라간 모습이다.
그리고 push해준 모습이다.
여기까지 커맨드를 활용한 git활용에 대해서 알아보았다.
다음 포스트는 SourceTree라는 git관리 GUI 프로그램을 활용해 볼 예정이다.
reference - 패스트캠퍼스, 한 번에 끝내는 데이터 엔지니어링 초격차 패키지 Online