{% seo %}git & github | myHobbyBest
git & github
포스트
취소

git & github

git & github (요약 버전)

깃허브의 기능

  • 내 소스코드를 저장하고 버전관리를 할 수 있게 한다.
  • 소스코드를 다른사람과 공유한다.
  • 타인과 협업하는 공간을 제공한다.

로컬환경 구축하기 (내 컴퓨터에 환경 설정하기, git 다운 로드 및 설치)

  • git-scm.com 에서 자신의 컴퓨터 OS에 맞는 git의 최신버전을 다운받아 설치한다.

  • 컴퓨터의 검색창에서 git을 검색하여 git bash 창을 연다

git-bash

아래 내용을 순서대로 입력하여 git의 사용자를 내 컴퓨터의 git에 등록한다.

git config --global user.name "your_name" // your_name (?)
git config --global user.email "your_email" // github가입 이메일

(주의 : 여기서 –global 옵션은 컴퓨터 내의 모든 폴더에서 계정이 유효하게 된다는 것을 의미한다. 따라서 만약 하나의 컴퓨터에 여러개의 깃허브 계정을 등록하고자 한다면 –global 옵션은 입력하지 않는것이 좋다.) git config --list를 입력하면 아래와 같이 user.name과 user.email이 올바르게 등록되었는지 확인할 수 있다.

git-config-list

remote 환경 구축 하기 (깃허브 가입하고 Repository 생성)

  • github.com 에 가입한다.
  • 새로운 repository를 생성한다.

new-project

new-ropository-III

탐색기에서 앞으로 작성할 코드를 저장하기위한 폴더를 새로 만들기한다.(폴더이름은 영문으로 한다.) 새로 만든 폴더명 위에서 ‘shift’키와 함께 오른쪽 마우스키를 누르면 아래와 같이 메뉴 창이 열린다.

git-bash-here

‘Git Bash Here’ 를 선택하면 아래와 같이 새로 만든 폴더위치에서 명령창이 열린다.

git-bash-command-window

아래 명령을 순서대로 실행해보자

echo "# example" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/myHobbyBest/example.git
git push -u origin main

echo "# example" >> README.md는 README.md파일에 # example 라는 코드를 입력하고 이를 저장한다. 명령창에 ls를 입력하면 README.md 파일이 생성된 것을 볼 수 있다. 그 내용을 확인하고 싶으면 code . 를 입력한다. (현재 폴더에 있는 모든 파일을 vs code 앱으로 열어준다.)

git init 은 현재 폴더를 git명령과 작업에 필요한 상태로 초기화(initialize)한다. 현재 폴더 밑에 .git폴더(숨김 폴더 이다.)가 생성되고 그곳에 git명령에 필요한 여러가지 파일들과 폴더들이 생성된 것을 볼 수 있다. git-init-git-file

git add README.md (README.md 파일만 대상 )또는 git add .(현재 폴더에 있는 모든 파일이 대상 ) 로컬에서 리모트 사이트로 업로드할 파일 꾸러미들의 리스트를 만든다 (스테이지에 올린다는 의미에서 staged 라고도 한다.)

git commit -m "first commit" (여기서 m은 message를 뜻한다.) 파일 꾸러미들의 변경내용을 대표할 수 있는 이름을 지어준다. git-commit

git remote add origin https://github.com/myHobbyBest/new_project.git 로컬 폴더와 리모트폴더를 연결해주는 명령이다. 명령이 잘 수행되었는지 확인하려면 git remote -v를 입력하여 아래와 같은 출력이 나오면 된다.

1
2
origin  https://github.com/myHobbyBest/new_project.git (fetch)
origin  https://github.com/myHobbyBest/new_project.git (push)

git push origin master 를 입력하면 파일이 업로드된다.

얻어진 결과화면

1
2
3
4
5
6
7
$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 220 bytes | 220.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/myHobbyBest/new_project.git
 * [new branch]      master -> master
  • clone 명령

git clone [REPO_URL] [DIR]

REPO_URL은 복사하고자 하는 repository에서 “Code”를 누르면 clone 주소를 보여준다.

  • HTTPS 형식 : https://github.com/[USERNAME]/[REPOSITORY_NAME].git

  • SSH 형식 : git@github.com:[USERNAME]/[REPOSITORY_NAME].git

[USERNAME] 은 깃허브 사용자이름이고 [REPOSITORY_NAME]은 저장소 이름이다.

이중에서 우리는 SSH 주소를 선택했다. REPO_URL

  • (주의: SSH 주소는 GitHub에 SSH 키가 등록되어 있어야 쓸 수 있다.)

[DIR]을 생략하면 현재 디렉토리에 복사되며 [DIR[을 지정하면 clone명령이 자동으로 폴더를 생성한 후에 그곳에 파일들을 복사해준다.

git clone = git init + git remote add origin 의 효과가 있으므로

별도의 init 명령이나 remote add 이 필요없다.

Fork

다른 이의 깃허브 계정에서 내 깃허브 계정으로 코드를 복사하는 것을 말한다. 오픈소스 프로젝트에 참여 하거나 협업을 진행할 때 많이 사용된다고한다.

fork-1 일반적으로 복사하려는 다른이의 깃허브 리포지토리에서 fork를 선택하고 create a new fork를 누르면 화면이 내 깃허브 계정으로 이동한다.

fork-2 이때 내 깃허브 계정에서 코드를 복사해올 새 저장소 이름(new Repository name)을 입력하고 Create fork 버튼을 누른다. 이렇게 복사해온 코드를 다시 내 로컬에 복사 (git clone)한 후에 내 계정과 로컬사이에서 새로운 코딩을 진행 테스트하고 완료되면 최종적으로 Pull Request를 통해 원본의 변경을 진행하는 것이다.

(원본 리포지토리와 내 리포지토리 간에도 upstream downstream의 관계가 형성된다고 한다.여기에 관해서는 나중에 다시 상세하게 공부해보겠다.)

branch , checkout

참고자료

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

Introduction to widgets

layout

Comments powered by Disqus.