Git과 Github(add,commit) 사용해보기

모두의희망·2022년 12월 14일
0

Git, Github

목록 보기
3/4
post-thumbnail

Git과 Github의 차이점???

  • Git: 버전관리 시스템/소스코드 매니지 먼트를 하는 도구
  • Github: 깃을 기반으로한 클라우드 원격 저장소 서비스

Git의 장점

  • 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능합니다.
  • 수정내용은 commit 단위로 관리, 배포 뿐 아니라 원하는 시점으로 Checkout or switch 가능
  • 즉 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 개발을 진행할 수 있습니다.
  • 분산 버전관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 저장소가 날라가버려도 다시 원상복구할 수 있습니다.

git Process Flow and Command

Git 최초 설정

Git을 설치하고 나면 Git의 사용 환경을 적절하게 설정해 주어야 한다. 환경 설정은 한 컴퓨터에서 한 번만 하면 됩니다. 설정한 내용은 Git을 업그레이드해도 유지됩니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~
$ git config --list

git config --list를 입력하면 지금 현재 설정된 정보들을 볼 수 있습니다.

사용자 정보
Git을 설치하고 나서 가장 먼저 해야 하는 것은 사용자이름과 이메일 주소를 설정하는 것 입니다. Git은 커밋할 때마다 이 정보를 사용합니다. 한 번 커밋한 후에는 정보를 변경할 수 없습니다.

$ git config --global user.name "내 이름"
$ git config --global user.email "내 이메일"

--global 옵션으로 설정하는 것은 딱 한 번만 하면 된다. 해당 시스템에서 해당 사용자가 사용할 때는 이 정보를 사용한다. 만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 명령을 실행한다.

편집기
사용자 정보를 설정하고 나면 Git에서 사용할 텍스트 편집기를 고른다. 기본적으로 Git은 시스템의 기본 편집기를 사용한다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~
$ git config --global core.editor "vim"

ghkst@DESKTOP-8SB8F5E MINGW64 ~
$ git config --global core.pager "cat"

저는 "vim"이라는 에디터와 편집한 내용을 볼 수 있는 "cat"을 설정 하겠습니다.
그런다음 다시 $ git config --list 을 입력해 보면 추가한 설정들을 볼 수 있습니다.


최초의 설정이 끝났다면 이제 Github에서 repository를 새롭게 만들고 Git bash에서 clone을 해보겠습니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev
$ git clone https://github.com/whansoo/first-repo.git
Cloning into 'first-repo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

내가 원하는 위치에 새롭게 추가한 repository의 주소를 가져와 clone을 해주면 내가 정한 프로젝트 이름으로 폴더가 만들어질 것 입니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev
$ cd first-repo/

그 폴더로 들어가서 ls를 해보면 처음에는 README.md밖에 없을 것입니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ touch index.html

여기서 touch를 하면 index.html의 파일이 생깁니다

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ ls
README.md  index.html

index.html파일이 생겼다는걸 알 수 있습니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        index.html

nothing added to commit but untracked files present (use "git add" to track)

git status는 지금 현생 상태를 볼 수 있는 명령어 이구요. Untracked files은 추적되지 않은 파일이라는 뜻으로 add를 하지 않아 index.html은 빨간색으로 나타내어 있을겁니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git add index.html

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   index.html

index.html에 add를 해주고 다시 status로 현재 상태를 보면 이번에는 Changes to be committed로 되어있을겁니다 이뜻은 commit할 준비가 되어있다는 뜻입니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git commit

commit을 하면 commit 제목과 내용을 적어두고 wq를 눌러 저장 후 빠져나옵니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git log

여기서 git log를하면 나의 정보와 commit한 제목 내용을 볼 수 있습니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ vi README.md

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ cat README.md

vi README.md는 README.md를 편집할 수 있습니다. 편집을 하려면 i를 누르고 작성하면 되고 작성 후 esc를 눌러 노멀로 나가고 :wq를 입력하여 저장 후 빠져 나옵니다.
그리고 cat을 이용하여 내가 작성한 내용을 볼 수 있습니다. README.md도 마찬가지로 git add README.md와 git commit을 해줍니다.

ghkst@DESKTOP-8SB8F5E MINGW64 ~/Documents/dev/first-repo (main)
$ git push origin main

commit한 내용을 내 프로젝트에 push를 하면 내가 작성한 코드들이 github에 올라갑니다.

profile
개발을 진정성 있게 다가가겠습니다.

0개의 댓글