git & github

howyoujini·2021년 11월 10일
0

git

  • git을 왜 쓰는가? 어떤 환경에서도 쓸 수 있어야 하기 때문에 cli 기반으로 진행해야함
  • git -> version control system (vcs) 중 하나
  • what id version ?
  • 특정시점 ex) 스냅샷같은 것이 연속될 수 있도록 나열되게
  • 파일이 변화해온 기록들을 하나의 파일로 저장 (여러사람들과도 함께)
  1. 수정할 때 마다 파일을 새로 만들면 관리가 힘들기 때문에
  2. 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에 - 이것을 commit이라고 한다.
  3. 이력을 남기기 위해 - git blame : 코드 책임자를 알 수 있음
  4. 하나의 프로젝트를 두고 여러 명의 개발자들이 협업할 수 있기 떼문에

코드 쓰다보다가 아? 이거 커밋해야할 것 같은데? 하면 그때 하면 됨

github

온라인상으로 접근할 수 있는 코드저장소
1. git을 사용한 프로젝트들의 저장소
2. 개발자들의 social network
3. 각각의 페이지마다 branch 생성 가능해서 협업가능

git 명령어를 내가 설정한 단축어로 수정하고 싶다면 ?

~ git config --global alias.+ 내가 쓰고 싶은 단축어 + 원래 명령어

git

Reference

~ git config :

~ git init : git 생성 및 초기화
Create an empty Git repository or reinitialize an existing one
git 초기화 하면 master가 생김

~ git clone : 기존에 존재하던 프로젝트에 이어서 작업

~ git status : git 상태확인
깃들의 상태를 확인 (커밋전의 깃들)
~ git status -s :
~ git status -long :

~ git diff :

~ git difftool :

add : 파일 수정이력 기록 준비

commit : 파일 수정 이력 기록

장바구니가 비어짐. 왜? 이미 커밋했기때문에

log : commit 이력보기

커밋들의ㅣ 이력을 보는 것

push

git remote add origin

깃 레파지토리에 넣어주는

git branch, checkout, pull, merge

  • rebase와 checkout과 어떻게 다른가?

git config : Get and set repository or global options

PR 메시지와 라벨 등을 통해 github 상에서 다른 사용자와 의사소통

깃헙을 사용해서 어떻게 커뮤니케이션을 하는지,

그럼 보통 현업에서는 pull request 하고는 local에 있는 코드파일을 다 지워버리고 필요할 때 다시 clone해서 쓰나요? 아니면 웬만하면 계속 갖고 있나요 ?

그럼 clone은 처음 시작할 때 받아오는 거고 pull은 작업 중에 merge된 것을 받아오는 거라고 이해하면 될까요 ?넵

git add . 커밋전에
git ignore 추적을 안할꺼를 명시해두는

클론을 받았을 대 어떤 것은 추적하지 말아야 하는 것이 서로 공유되어야 하는 것이기 때문에 그것들만을 모아서 git ignore 폴더로 정리해서 공유하는 것.

git push

// 생성된 브랜치 및 현재 브랜치 확인
git branch

// 브랜치 생성
git branch feature/이름

// 브랜치 이동
git checkout 브랜치이름

// 기록으로 남길 수정 사항을 고르는 명령어
git add .

// 기록으로 남기는 명령어
git commit -m '커밋 메세지' (한줄 커밋)
git commit (멀티라인)

// vi 에디터 명령어
1. insert 모드 : i
2. insert 모드 나가기 : esc
3. 커밋 메시지 작성 완료 후 vi 저장하고 vi 에디터 나가기: :wq

// 리모트 레포로 올리는 명령어
git push origin 브랜치이름

// 다른브랜치에 있던 것을 옮기고 싶은 브랜치로 읻동
git cherry pick

git workflow

working directory : untracked / tracked (unmodified/ modified) /
staging area -> 커밋 : 작업하다가
.git directory : 히스토리에 저장 , checkout 으로

remote (git push)
git directory :

깃 리모트를 하면
message
author
date
의 정보가 입력됨

terminal 깨끗하게 지우기 :
mac -> command + k
window control + k

profile
어떡해 ? 어떻게 ! 업글중

0개의 댓글