TIL ⎮ Git&Github_init to add and push

Chris-Yang·2021년 9월 11일

Git&Github

목록 보기
1/3
post-thumbnail

> Git & Github 개요

▶︎ Git?

프로젝트를 컴퓨터에 저장하기 위해 사용된다.

단순히 그때그때 덮어쓰는 방식으로 저장되는 것이 아니라
저장할 때마다 버전(변경사항)이 나뉘어 저장되고 각각의 버전들로
이동할 수 있어서 파일을 여러개로 나누어 저장하지 않아도 된다.

💡 git 홈페이지: https://git-scm.com


▶︎ Github?

깃으로 버전을 관리한 프로젝트들의 클라우드 기반 원격저장소(호스팅 서비스)로써
github 외에도 여러가지 원격저장소 플렛폼들이 있다.

주된 기능은 저장소협업이지만 개발자들의 Social Network(오픈소스 공유,
개발 관련 트렌드 및 이슈 등 동향 파악 가능) 공간이기도 하다.

또한 다른 사람들의 소스코드를 공부할 수도 있는데, 언젠가 우리도
멋진 코드를 올려 많은 사람들에게 도움을 줄 수 있는 인물이 되기를 바란다.👊

💡 github 홈페이지: https://github.com


▶︎ 버전관리를 하는 이유

종합해보자면 수정시마다 새파일 만들면
위에 예시한 어느 디자이너분의 슬픈 예시처럼.. 일단 관리가 어렵다.

무엇이 변경된건지 확인하기 번거롭고 실수로 삭제하기도 쉽다.

하지만 버전관리 프로그램을 이용하면 언제든 특정 버전으로 이동할 수 있고
변경사항 및 변경자 이력을 기록해둘 수 있기 때문에 관리의 편의성이 높다.

또한 그 버전을 삭제하려면 명령어를 통해야 하기 때문에 실수도 줄어든다.

이런 기능과 개념이 이어지는 원격 저장소에서는 하나의 프로젝트를
여럿이 협업할 수 있고, 각각의 개발자가 자신만의 프로젝트
버전들을 개인 컴퓨터에서 관리하면서 차후 개인 버전 프로젝트를 합쳐
중심이 되는 프로젝트에 적용할 수 있다.





> Git Init to Push

전체적인 틀은 git이라는 나의 컴퓨터 내부에서 이루어지는 local 영역에서의 개념과
github라는 원격 저장소에 저장 및 공유하는 remote 영역에서의
개념으로 나눌 수 있다.

큰 분류로 나누고 접근하면 이해하기 조금 더 수월하기 때문에
이번 과정을 통해 각각의 영역에서 어떤 작업을 하는지 확인해보자.


▶︎ git의 영역(local)

  1. git init
    "지금부터 이 폴더(directory)는 git으로 관리할거야"라고
    내 컴퓨터에게 말해주는 단계다.
    관리하려는 파일들이 위치한 ❗️가장 바깥의 폴더에서 명령어를 실행해야한다.

  1. git status
    새로운 파일 생성 및 파일 내용 수정 등의 변경 상태를 확인한다.
    Untracked files에 적인 빨간색으로 표기된 파일 이름은 저장된 적 없는 내용이
    있는 수정된 파일/폴더(이하 파일로 통일)이라는 뜻이다.


  1. git add 파일이름 or .(directory 내 변경된 파일 모두 선택)
    수정이력 기록을 준비하는 단계로 해당 버전에 저장할 파일 목록을 지정하는 절차다.
    git add 뒤에 파일 이름을 적으면 그 파일(혹은 파일들)만 지정하고
    .(dot)을 적으면 빨간색인 파일 전부를 지정한다.
    Changes to be committedgit status에서 빨간색으로 표기됐던
    파일 이름이 초록색으로 변해있다면 이번 버전에 저장할 대상이라고
    정상적으로 지정된 것이다.

  1. git commit -m "변경사항 관련 기록하고싶은 메시지"
    수정한 파일을 최종적으로 특정 버전으로 기록하고
    수정한 내용에 대한 메시지를 남기는 과정이다.
    메시지와 몇개의 파일이 변경됐는지 등 변경관련 내용을 알려준다.

  1. git log
    commit(버전 기록) 이력들을 확인할 수 있으며 Author(저장한 사람),
    Date(저장한 시점), 그리고 저장관련 기록한 메시지를 확인할 수 있다.
    (esc -> : -> q로 빠져나올 수 있다.)




▶︎ github의 영역(remote)

  1. new repository 생성
    github 홈페이지에서 repository(저장소)를 만들어줘야 한다.
    2021.9.11일 기준으로 홈페이지 우측 상단에 위치한 New repository를 클릭한다.
    그리고 레포지토리 이름을 입력한 후 맨 하단에 Creat repository를 클릭한다.
    (🤗 필수 사항만 예시한 것으로 다른 옵션들은 일단 생략하겠다.)


  1. git remote add origin repository주소
    원격 저장소 github에 파일을 push(저장)하는 단계다.
    몇가지 명령어 예시가 있는데 우리는 이미 위에서 내컴퓨터 local repository에
    파일을 저장했기 때문에 …or push an existing repository from the command line에 있는 명령어들을 가이드대로 따라하면 된다.
    git remote add origin repository주소.git을 터미널에 입력하면
    git을 통해 내 컴퓨터에 저장된 파일들이 github와 서로 연결된다.
    그리고 git push -u origin main을 입력하면 git에서 지정했던 내 파일들이
    github에 업로드 된다.
    github 내 페이지에서 Repositories에 가보면 업로드한 repository가 있고
    클릭하면 내용을 확인할 수 있다.(고생하셨습니다!!🕺)

🤗 저의 경우 branch세팅 때문에 git branch -M main이라는 내용이 추가로 적혀있는데 저 부분은 없을 수도 있다.
git branch명령어로 현재 터미널에 지정된 브랜치를 확인할 수 있으며
git checkout 사용할브랜치이름으로 터미널에서 브랜치를 변경할 수 있다.
브랜치 생성은 git branch 만들고싶은이름으로 생성할 수 있다.

💡 origin이라는 변수에 오른쪽에 있는 해당 repository주소를 저장한 것으로
origin이라는 이름은 변경할 수도 있다.
git은 origin이라는 변수명과 repository URL을 통해 github과 연동시
조작 대상을 식별한다.






> 첫 add 이후 변경사항 업로드

▶︎ 한번 연결하면 끝난게 아닌가?!

아니다..삶은 그렇게 편하게만 흘러가지 않는다.

첫 업로드 후 변경 내용을 git에 저장했다고 github에 자동으로 저장되지 않는다.

변경사항은 다음과 같이 지정하여 재업로드해야한다.


▶︎ local to remote

  1. init을 제외한 git 절차 다시 수행하기
    변경사항을 저장하고 싶으면 우리는 일단 위에서 알아본 git의 영역중에서
    init을 제외한 절차를 반복해야 한다.
    번거롭다고 생각된다면 디자이너님들의 노고를 떠올려보자..⚡️

  2. git push origin main
    git에서 commit까지 끝냈다면 push를 해주면 된다.
    github repository를 확인해보면 변경된 내용, 시간, 메시지를 확인할 수 있다.
    끝이다. 별거 없다!!🙋🏻‍♂️





> 참고자료 💕

▶︎ 누구나 쉽게 입문할 수 있는 Git




🌈 작은 회고 🤔

예전에 약간의 git과 github에 대한 경험은 했었는데
명령어만 따라쳤던 수준이었고 이번에 제대로 정리할 수 있는 기회가 되었다.

그때는 그저 두렵고 힘들기만 했었는데
명령어의 의미를 알고 local과 remot에 대한 정확한 개념을 알게되니
이해와 함께 명령어도 금방 익힐 수 있었고 덕분인지
벨로그를 쓰며 복습하는 과정이 즐거울 수 있었다 호홓~!🎉

그리고 마지막쯤에 아무리 push를 해도 github에 변경사항이
업로드 되지 않아서 낑낑대며 구글숲에서 줒은 열쇠들을 맞춰가던 중에
해답을 찾았고 평소같았으면 그게 끝이었을 것이다.

그런데 문득 나와 똑같은 문제로 고생을 하는 사람들이 많다는 사실이 더
크게 다가왔고 그래서 다음 글에서는 그 부분만 따로 다뤄볼까 한다.

너무 작은 블로그라 상단에 뜰지..누군가에게 도움을 주게 될 수 있을지
미지수지만 일단 그럴 수 있는 것을 찾았다는 것에 기쁘다.

동료들의 멋진 알고리즘 풀이 글을 아직 나는 쓸 수 없지만
나름 나의 행복을 찾은 것 같아 살짝 더 행복한 저녁이다!🌝🌚🌝(오레오..?)


2021.09.18

벨로그 트렌드에 내 글이 보인다...🥲

최상단은 아니지만 스크롤을 조금 내리면 볼 수 있기에 행복하다..

소박한 행복에 미소가 지어진다.

코딩에 입문하고 처음으로 대외적인 성취감을 가져본 것 같다.

저의 부족한 정리를 봐주신 분들께 진심어린 감사를 올려본다..🙇

profile
sharing all the world

0개의 댓글