깃허브

오늘은 매번 저를 괴롭혔던 깃허브에 대하여 공부를 해봤습니다.

GUI vs CLI

GUI : Graphic User Interface (마우스로 클릭할 수 있는 환경)
CLI : Command Line Interface

기본적인 틀

git pull -> 내 컴퓨터에 받아오기
git add . -> 내 안에 있는 파일들 대기열에 넣기
git commit -> 비행기에 타기
git push -> 날아가기 (공유 폴더에 저장하기)

깃 vs 깃허브

서로 다르다!
깃 : 분산 버전 관리 시스템
깃허브 : 웹 서비스 (외부망에 연결되어야 함)
GitLab (내부에서 사용 가능)

설치

  1. git 설치
  2. 사용자 정보 설정하기
$ git -v
$ git config --global user.name "유저이름"
$ git config --global user.email email@example.com
$ git config --list

list 명령어 -> 설정 제대로 했는지 확인해보기

git bash 사용하기

(복붙 단축키 : Shift + Insert)

$ git init			# .git(로컬 저장소 생성)
$ git clone 주소 .
$ git add .
$ git commit -m '보낼메시지'
$ git push
# 내려 받을 사람
$ git pull

git init -> 한 폴더 안에는 하나의 .git을 가져야함
.git이 여러개 존재하는 경우 업로드가 안되므로 삭제하기!
git clone은 1번만!!!
그 뒤로 pull 사용
git clone은 리모트 설정을 자동으로 해주는 초기 다운로드에 사용
git pull은 리모트 설정이 이미 되어있을 때 업데이트 사항 등 다운로드 할 때 사용

리눅스 명령어

$ ls					# 내용 보기
$ mkdir yoojin    		# 폴더 생성
$ cd ..                   # 상위 폴더 이동
$ cd 폴더이름               # 해당 폴더 이동
$ cd yoojin
$ touch test.html    # test.html 파일 생성
$ vi test.html         # 실무 vim을 사용합니다.
i					# INSERT (편집 가능)
ESC
:wq!				# 저장하고 나가기 (! : 강제로)
$ cat test.html
$ cd ..				# 밖으로 나가기
$ rmdir yoojin		# yoojin 폴더 삭제하기

확인해보기

$ touch README.md
$ git status
$ git add .
$ git commit -m 'first commit'

무시할 파일 (.gitignore) 사용하기

push 전 제외할 파일 추가
.gitignore 파일에 추가

# a comment - 이 줄은 무시한다.
# 확장자가 .a인 파일 무시
*.a
# 윗 줄에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않는다.
!lib.a
# 루트 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디렉토리에 있는 파일은 무시하지 않는다.
/TODO
# build/ 디렉토리에 있는 모든 파일은 무시한다.
build/
# `doc/notes.txt`같은 파일은 무시하고 doc/server/arch.txt같은 파일은 무시하지 않는다.
doc/*.txt
# `doc` 디렉토리 아래의 모든 .txt 파일을 무시한다.
doc/**/*.txt
# .html 파일 전부 다 추적 X
*.html
# 004.html 무시하기
004.html

Github에 파일 올리기

이제는 token 발급 받아서 해야 함
Settings -> Developer settings -> Personal access token -> repo 체크하고, workflow도 체크하여 토큰 따로 받아서 저장하기

운영체제에 맞게 토큰 저장하기

  • 윈도우
    제어판 -> 자격 증명 관리자 -> window 자격증명에 깃 추가하기
  • 초기 생성 시 README.md 파일 생성하지 않은 경우
    -> 나오는 git 명령어 그대로 입력하기

  • README.md 파일 체크한 경우

$ mkdir filename
$ cd filename
$ git clone https://github.com/id/clone-filename.git .
# clone에 .을 통해 현재 폴더에 다운 받음
  • 이미 있는 경우
git init
git add .
git commit -m 'om'
git branch -M main
git remote add origin 주소
git push -u origin main

우리가 목표하는 명령어

git clone repo주소 .
# 파일 수정이나 추가
git add .
git commit -m 'hello1'
git push

git pull
  • git clone (.git 폴더까지 다 가져옴)
  • git pull (내가 이미 .git 폴더를 가지고 있고, 작업하고 있는 파일도 있는 상태)

웹 서비스를 만들 때

  1. (기획자) 서비스 기획
  2. (백엔드) URL 구조 짜기
    • A 레코드 관리 : IP를 등록해주는 친구
    • A 레코드 추가 : 깃헙 IP 등록하기
    • (깃헙 입장에서 어디에 연결해야 하는지를 알려주기 위함)
    • 별칭 관리 : 추가할 깃헙의 url
  3. (백엔드) model 설계 : 게시판..게시물 제목, 내용, 사진 등....
  4. (디자이너) 디자인
  5. (프론트엔드) templates 작성(HTML)

궁금한점

README.md 파일을 만들지 않고 하는 경우 -> master에서 main으로 바꿔줘야 함.
(git branch -M main 명령어를 통해 변경)
git clone 했다면 자동으로 main

느낀점

오늘 수업을 통해 확실히 깃과 깃허브에 대하여 알게된 것 같다. 매번 팀원들과 깃허브 관련한 부분에서 애먹어가지고 나중에는 zip 형식으로 주고받았지만 이제는 오늘 배운 것들을 잘 활용해봐야 겠다.!!

profile
함께 배워나가고 싶습니다!

2개의 댓글

comment-user-thumbnail
2022년 9월 1일

매번 괴롭혔던 깃허브라는 말이 너무 공감돼요,,😂 정리하신 글 잘 보고 갑니다! 앞으로도 같이 파이팅해요!

1개의 답글