Introduction

When you make commits in a git repository, you choose which files to stage and commit by using git add FILENAME and then git commit. But what if there are some files that you never want to commit? It's too easy to accidentally commit them (especially if you use git add . to stage all files in the current directory). That's where a .gitignore file comes in handy. It lets Git know that it should ignore certain files and not track them.

 

What Kind of Files Should You Ignore?

  • Log files
  • Files with API keys/secrets, credentials, or sensitive information
  • Useless system files like .DS_Store on macOS
  • Generated files like dist folders
  • Dependencies which can be downloaded from a package manager
  • And there might be other reasons (maybe you make little todo.md files)

① .gitignore이란?

  • 버전 관리를 할 필요가 없는 파일이나 디렉토리는 Git에게 무시하라고 알려줘야하는데 이 때 사용하는 것이 바로 .gitignore 파일
  • Project에 원하지 않는 Backup File이나 Log File , 혹은 컴파일 된 파일들을 Git에서 제외시킬수 있는 설정 File이다.

 

② gitignore 파일 생성

 

프로젝트 안에 .gitignore 파일을 생성

$ touch .gitignore

.gitignore 파일 자체도 일반 파일처럼 Git이 추적해야하는 파일로 나온다.

$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.gitignore
	a.txt
	b.txt
	c.txt

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

 

③ 특정 파일을 버전 관리에서 제외

프로젝트의 3개의 텍스트 파일 중에서 b.txt 파일을 버전 관리에서 제외시키려면?

 

.gitignore 파일에 b.txt를 추가

$ echo "b.txt" >> .gitignore
$ cat .gitignore
b.txt

이제 다시 Git에게 현재 상태를 물어보면 b.txt는 추적할 파일에서 빠져있는 것을 볼 수 있다.

$ git status
On branch main

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	.gitignore
	a.txt
	c.txt

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

현재 변경 사항을 스테이징(staging) 영역에 추가하고 커밋(commit)해보면 다음과 같이 b.txt 파일이 제외된 것을 볼 수 있다.

$ git add . && git commit -m "ignore b.txt"
[main (root-commit) be4069a] ignore b.txt
 3 files changed, 2 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 a.txt
 create mode 100644 c.txt

 

④ 무시된 파일 수정

 

무시된 b.txt 파일에 한 번 내용을 추가해보면,

$ echo "BBB" >> b.txt
$ cat b.txt
BBB

Git은 b.txt의 변경 사항을 신경쓰지 않는 것을 알 수 있다.

$ git status
On branch main
nothing to commit, working tree clean

 


[출처]

 https://www.daleseo.com/gitignore/

https://www.pluralsight.com/guides/how-to-use-gitignore-file

깃허브에 main폴더와 dev폴더가 만들어져 있다고 가정하에, 내가 맡은 부분을 올려야하는 브랜치 폴더를 생성하는 과정을 정리해보자.

 

① 기본 세팅 및 main 파일 혹은 dev파일 내려받기

작업 순서 명령어
깃허브 push용 이름 및 이메일 세팅 $ git config --global user.name "username"
$ git config --global user.email "email@email.com"
git init 이후 원격저장소와 연결 세팅 $git remote add origin [REPOSITORY ADDRESS]
원격저장소 확인 $ git remote -v
main 혹은 dev 파일 pull 하기 $ git pull origin main
정보 업데이트 $ git fetch
브랜치 목록보기 $ git branch  
remote까지 확인 $ git branch -a

 

② 내 코드 작성 후 깃헙에 브랜치 파일 만들기

작업 순서 명령어
브랜치만 생성 $ git branch (브랜치명)
해당 브랜치로 이동 $ git checkout (브랜치명)
현재 커밋에서 브랜치 생성하고 이동 $ git checkout -b (브랜치명) 
해당 커밋으로 이동 후 브랜치 생성 $ git checkout (커밋아이디) -b (브랜치명) 
현재 및 하위 디렉토리 모든 파일 index 추가 $ git add . 
local repository에 추가
 $ git commit -m "(설명)"
설정한 브랜치로 업로드 $ git push origin 브랜치이름

 

※ 추가로 알고 있음 좋을 명령어

작업 순서 명령어
로컬 저장소에서 브랜치 삭제 $ git branch -d (브랜치명)
원격저장소에서도 삭제 $ git push origin --delete (브랜치명)
.gitignore 파일 목록 검색 $ git ls-files -o -i --exclude-standard
원격 저장소 코드 로컬에 복제하기 $ git clone (url) (저장할 폴더 이름)

 

③ 이제 브랜치 파일을 만들어 줬으니 업로드를 해보자.

작업 순서 명령어
깃허브에 있는 메인파일을 최신버전으로 업데이트 해준다 $ git remote update
push 전 최종파일 내려 받기 $ git pull origin main(파일명은 다를 수 있음)
현재 및 하위 디렉토리 모든 파일 index 추가 $ git add . 
파일 상태 보기 $ git status
local repository에 추가 $ git commit -m "(설명)"
remote repository에 추가 $ git push origin main

 


아 Github 사용은 코딩을 하는 것 만큼이나 어렵다. 많이 사용해서 익숙해지는 방법밖엔 없는 것 같다.

사전토이프로젝트를 하면서 코딩만큼이나 고생했던 깃사용. 그래도 해본것과 안해본 것은 다르기 때문에, 아직 완전히 숙지가 되지 않았어도 사용을 해본 것에 의의를 두려 한다. 모두 고생하셨습니다 !!

 

[출처]

https://velog.io/@augus-xury/github-%EC%82%AC%EC%9A%A9%EB%B2%95-%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC

1. Command 명령어(터미널 명령어)

 

분류  기능 명령어
관리자 권한 관리자 권한으로 실행 $ sudo 명령어
디렉토리 위치 이동 홈 디렉토리로 이동 $ cd ~
  디렉토리로 이동 $ cd 디렉토리이름
  상위(부모) 디렉토리로 이동 $ cd ..
디렉토리 정보 출력 현재 위치 출력 $ pwd
  디렉토리 안의 파일 출력 $ ls
  상세정보까지 출력 $ ls -l
  숨김파일까지 출력 $ ls -a
  숨김파일/상세정보까지 출력 $ ls -al
생성 및 옮기기/삭제 디렉토리 생성 $ mkdir 디렉토리이름
  파일 생성 $ touch 파일이름
  파일 생성 및 수정 $ echo 파일내용 > 파일이름
  파일이나 디렉토리 옮기기 $ mv 옮길파일 옮겨질위치
  파일 이름 변경 $ mv 바꿀파일 바꿀이름
  파일이나 디렉토리 복사 $ cp 복사할파일/폴더이름 복사할경로or이름
  파일 삭제 $ rm 파일이름
  디렉토리 삭제 $ rm -r 디렉토리이름
기타 자주쓰는 명령어 파일 내용 확인하기 $ cat 파일이름
  터미널 정리하기 $ clear
  이전 명령어 확인 $ history
  종료 $ exit

 

2. Git 명령어

분류 기능 명령어
시작 및 설정 설치된 git 버전 확인 $ git --version
  .git 하위 디렉토리 생성 $ git init
  사용자 이름 설정 $ git config --global user.name "사용자이름"
  사용자 이메일 설정 $ git config --global user.email "사용자이메일"
  상태 확인 $ git status
저장소 원격 저장소 연결 $ git remote add origin [github 저장소 주소]
  저장소 확인 $ git remote -v
  로컬 저장소 복제 $ git clone /로컬/저장소/경로
  원격 저장소 복제 $ git clone 이름@호스트:/원격/저장소/경로
commit 명령어 커밋에 변경사항 올림 $ git add 파일명
  수정한 전체파일 올림 $ git add .
  커밋 생성(변경사항 저장) $ git commit -m "메세지"
  커밋 내역 확인 $ git log
  파일 상태 확인 $ git status
branch 명령어 브랜치 목록 확인 $ git branch
  브랜치 생성 $ git branch 브랜치명
  브랜치로 이동 $ git checkout 브랜치명
  브랜치만들고 이동 $ git checkout -b 브랜치명
  master 브랜치로 돌아옴 $ git checkout master
  브랜치 삭제 $ git branch -d 브랜치명
  한 커밋씩 출력 $ git log --oneline
  커밋을 그래프로 표시 $ git log --branches --graph
push 명령어 원격 저장소에 업로드 $ git push origin master
  커밋을 원격 저장소에 업로드 $ git push 저장소주소 브랜치이름
  커밋을 원격 저장소에 업로드 $ git push -u 저장소주소 브랜치이름
  클라우드 주소 등록 $ git remote add origin 저장소주소
  클라우드 주소 삭제 $ git remote remove 저장소주소
merge 명령어 원격 저장소 변경사항 가져오고 병합하기 $ git pull
  현재 브랜치에 다른 브랜치 병합 $ git merge 다른브랜치이름
  파일 병합 $ git add 파일이름
  병합 이전의 내용과 비교 $ git diff 브랜치이름 다른브랜치이름
로컬 명령어 변경 전으로 되돌림 $ git checkout --파일명
  현재 상태를 다운로드 $ git fetch origin

 

3. Github 용어 정리

  • Commit (커밋) : Git에 파일을 추가하거나 변경 내용을 저장하는 작업
  • Push (푸시) : Github에 파일을 추가하거나 변경 내용을 저장하는 작업
  • Pull (풀): Github에서 파일을 다운로드하는 작업
  • Repository (레포지토리) : 저장소, 모든 히스토리와 버전을 확인 가능
  • Local (로컬) : 인터넷 없이 접속되는 저장소, 보통 내 컴퓨터에 저장되는 곳
  • Remote (리모트) : 인터넷을 통해 접속해야 하는 것, Github라 생각해도 무방
  • Branch (브랜치) : 가지 또는 분기점, 현재 파일 바꾸는 게 아니라 가지를 쳐서 그 가지를 바꿀 수 있다.
  • Merge (머지) : 위에서 말한 다른 Branch(가지)를 현재 Branch(가지)로 가져와 합치는 작업
  • Head (헤드) : 현재 작업 중인 Branch(가지)

 

 

출처: https://nack1400.tistory.com/16 [TIL로 프로 개발자 되기:티스토리] 

자료를 제공해 주신 윗 블로그님께 너무 감사드립니다 ! 

 

Github 란?  깃허브 GitHub는 분산 버전 컨트롤 소프트웨어. 깃Git을 기반으로 소스 코드를 호스팅 하고, 협업 지원 기능들을 지원하는 마이크로소프트Microsoft의 웹서비스이다. 가장 인기 있는 소스 코드 호스팅 서비스이자 소프트웨어 개발 플랫폼.

 

Github의 사용 용도는 다음과 같이 3가지로 분류할 수 있다.

- 내 소스코드를 저장하는 곳 

- 소스코드 공유

- 협업의 공간

 

③ Github을 이용하려면 다음 3가지 사전 준비가 필요하다.

1. Github 회원가입 + 암호 토큰 발행

2. Git download 및 기본세팅

3. Terminal 창 or GUI (ex-Source Tree)


 

1. 깃허브 회원가입 및 토큰 발행

 

① 깃허브 사이트주소  : https://github.com/ 에 접속하여 회원가입을 진행한다.

 

② 토큰 발행하기 : [Setting] → [Developer setting] → [Personal access tokens] 

 

※ 깃허브에 코드를 올리는 과정에서 username 과 password가 필요하다. 근데 이때 password는 가입할 때 입력한 것이 아니라, 토큰을 따로 발행하여 복붙해서 써야 한다. 토큰은 발행 받을 때 메모장이나 다른 곳이 미리 복붙해서 저장해 놓기 ! 

 

 

오른쪽 상단 본인 아이콘 - 세팅 클릭 !

 

왼쪽 하단 Developer setting 클릭
화살표를 클릭하고 원하는 토큰을 발행한다.

 

 

2. Git 설치하기

 

① git 설치 사이트 : https://git-scm.com/

 

  • 윗 사진의 명령어를 복사하여 터미널창에 붙여넣기 하고 엔터 ! 하면 다운로드가 시작된다.
  • 그다음 터미널 창에 $ brew install git 입력 후 엔터
  • 설치가 끝나면 $ git help 를 터미널창에 입력해주고 마무리 한다.

③ 다운로드 완료 확인 하기 : 터미널 창에 git --version 쳤을때 버젼 정보가 잘 나오면 설치완료 ! 

 

 

3. Git 기본 세팅 하기

터미널창을 켜고 다음 명령어를 입력해 준다.

① user name 설정하기

git config --global user.name "your_name"

② user email설정하기.

git config --global user.email "your_email"

사진 출처 : 유튜브 <코딩알려주는 누나>

③ 확인하기

git config --list

 

다음 명령어를 입력 후 유저네임과 유저이메일이 제대로 설정되었는지 확인하면 끝 !

 


출처 : https://www.youtube.com/watch?v=lelVripbt2M

 

Github에 처음 코드 업로드하기 

1. 초기화

git init

2. 추가할 파일 더하기

git add .

.(점) 은 모든 파일이라는 뜻, 선택적으로 올리고 싶으면 add뒤에 파일 이름 붙여주면 됨 (예. git add index.html)

 

3. 상태 확인 (선택사항)

git status

 

4. 히스토리 만들기

git commit -m "first commit"

-m 은 메세지의 준말로 뒤에 “” 안에 주고싶은 히스토리 이름을 주면 됨 (즉, 구지 first commit일 필요가 없다는 뜻^^)

 

5. Github repository랑 내 로컬 프로젝트랑 연결

git remote add origin (레파지토리 주소)

 

이 명령어는 github에서 복사해서 붙여와야함

 

6. 잘 연결됬는지 확인 (선택사항)

git remote -v

내가 연결한 주소값이 잘 뜨면 성공!

 

7. Github로 올리기

git push origin master

master 자리에는 branch이름이 들어가면 됨 branch이름이 main라하면 git push origin main 이라고 써야함

 

Github에 계속 업데이트 하는법 

1. 추가할 파일 더하기

git add .

2. 히스토리 만들기

git commit -m "first commit"

3. Github로 올리기

git push origin master

내 컴퓨터에 소스코드를 업데이트를 하고 싶으면 이 세개의 스텝만 계속 반복하면 됨.

 

Github로 팀프로젝트 하는법 

1. Github에서 소스코드 다운로드

git clone (레파지토리 주소)

주소는 깃허브에서 들고와야함

폴더이름은 선택사항이다 (즉 없어도됨) 폴더이름을 줄경우에는 그 폴더가 새로 생성이 되면서 그 안에 코드들이 다운로드가 되고, 폴더이름을 안줄경우엔 깃허브 프로젝트 이름으로 폴더가 자동으로 생기고 그안에 코드들이 다운로드된다.

 

 

2. Github에서 내 브렌치(branch)만들기

git checkout -b 브렌치이름

 

3. 내 브렌치에 소스코드 업데이트하기

git add . git commit -m "first commit" git push origin 브렌치이름

git add . 
git commit -m "first commit" 
git push origin 브렌치이름

 

4. 마스터 브렌치에 소스 가져오기(pull)

git pull origin master

pull을 하기전에는 기존에 소스코드들을 commit을 먼저 해놔야 한다

 

5. 브렌치끼리 이동하는 법

git checkout 브렌치이름

내 브렌치에서 마스터 브렌치로 이동을 하고 싶거나 다른 브렌치로 이동하고싶으면 해당 명령어를 쓰면 된다

 

 

 

 

 


[출처]

 

https://velog.io/@grinding_hannah/Git-Git-%EC%82%AC%EC%9A%A9%EB%B2%95-%EB%B0%8F-%ED%84%B0%EB%AF%B8%EB%84%90-%EB%AA%85%EB%A0%B9%EC%96%B4-%EC%A0%95%EB%A6%AC

 

[Git] Git 사용법 및 터미널 명령어 정리

pwd Print working directory; 현재 작업 위치 알려줌. ls list files; 현재의 directory의 모든 파일들을 보여줌. cd .. 상위 디렉토리로 이동.cd ~ 사용자의 홈디렉토리(/Users/hannah)로 감.

velog.io

 

 

https://velog.io/@gpwls320/Git-%EC%9A%A9%EC%96%B4-%EB%AA%85%EB%A0%B9%EC%96%B4

 

# Git, GitHub 개념 정리

Git이란? 깃허브의 심장에서 작동되는 소프트웨어인 깃(Git: 재수없고 멍청한 놈, 자식!) 깃은 프로젝트의 어떤 부분도 겹쳐쓰지 않게 프로젝트의 변경을 관리하는 버전 분산 관리 시스템이다. Git

velog.io

 

https://tagilog.tistory.com/377

 

[GITHUB 사용법] 왕초보를 위한 깃허브사용법 (Git사용법)

코딩할 때 뺄래야 뺄 수 없는 서비스 중 하나가 GitHub (깃허브) 입니다. 현역 프로그래머에게는 너무나 친숙한 서비스지만, 코딩 초보자에게는 생소할 수도 있습니다. 그래서 이번에는 코딩 초

tagilog.tistory.com

드림코딩 깃허브 유튜브 강의 : https://www.youtube.com/watch?v=Z9dvM7qgN9s 

 

https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html

 

누구나 쉽게 이해할 수 있는 Git 입문~버전 관리를 완벽하게 이용해보자~ | Backlog

누구나 쉽게 알 수 있는 Git에 입문하신 것을 환영합니다. Git을 사용해 버전 관리를 할 수 있도록 함께 공부해봅시다!

backlog.com

 

+ Recent posts