개발 협업의 필.수. ☝🏼 Git 과 Github 를 이해해보자
git init
: terminal 에서 git 을 통해 과정관리를 할 파일로 위치하게 한 뒤. git init
을 입력하여 git repository 를 생성해 준다. 프로젝트 작업이 깃에 의해 감지되고 작업된다.
git add
: 수정된 파일을 중간 저장하는 의미이다. (working directory에서 staging area로 옮기는 과정이라고 생각하면 됨)
: commit하기직전 add 해주는 것
git commit
: add한 파일을 commit으로 추가하면서 local repository에 저장한다.
git diff
: 제일 최근 commit 한 버전과 비교하여, 어떤 change가 있었는지 확인하는것이고 git add. 한 이후에는 (staging area)에 있으면 git diff 만 하면 보여지지 않는다.
git diff [filename]
// compare the working directory with local/remote repository
// staging area에 있는 변화까지 보려고 한다면 아래 명령어를 작성하면 된다.
git diff --staged[fillname]
git status
: 현재 깃 상태를 나타내주는 명령어, 어떠한 파일이 modified되고 , staged 되었는지 전체 상황을 보여준다.
git log
: commit한 내역들을 보여주는 커밋히스토리
라고 볼 수 있다
git rm
: 원하는 파일을 git repository에서 삭제할때 사용한다.
git mv
: 원하는 파일을 git repository상에서 이동시킬때 사용된다.
// hello.html을 lib directory로 이동시켜라
git branch
: 브랜치를 생성할때 사용하는 명령어, 이름처럼 프로젝트에서 가지를 뻗어나가 새로운 커밋을 쌓을 때 사용한다.
git checkout
: 생선된 새로운 브랜치를 이동시킬때 사용되는 명령어이다.
(간단하게 push 가 밀다이니 내 파일을 밀어 넣다
, pull은 당기다 이니, 그 파일을 내 파일로 당겨오다
라고 생각할 수 있다!)
feature/signup [feature/기능설명]
내 branch안에 파일을 생성해서 수정 혹은 있는 파일을 수정한 후 깃에 추가(git add .
와 git commit -m"코멘트"
)
git log
하면 수정했던 내용이 나온다.
다시 git checkout master 를 통해 master branch로 가서하면 기존의 master branch에 나의 branch 의 병합이 가능하다.
git checkout master( 내 마스터로 간다)
git merge feature/signup (내 브랜치)
git push origin master (기존의 오리진 master에 업로드)
: 예를들어 깃 repository A 에 올라와있는 코드를 fork 하게 되면 클론되어 내 repository B 로 저장 되게 된다. 해당 코드를 만지고 기존 repository A 에 추가하려면 repostitory A에게 pull requests를 보내고, A merge를 approve 해주면 그 코드가 repository A에 저장된다.
:예민한 정보를 올리지 않기 위해 중요하다!!(ex. API Keys, passwords, and etc)
: 숨기고 싶은 예민한 정보를 gitignore 파일을 만들어 그안에 넣어주면 끄읕!
: #
을 통해 내부에 코멘트를 작성할 수 있다. #뒤에 text를 작성하면 그것은 주석?개념으로 볼 수 있다.
touch .gitignore //gitignore 붙여서 사용해야함!
open .gitignore //
이렇게 하면 .gitignore 파일이 열리고 그안에 숨기고 싶은 파일을 직접 아래와 같이 작성하면 된다.
secrets.txt
.DS_Store
#
그후에 git add .
git status
를 순서대로 실행해 확인 해보면?
폴더에 있는 파일 + gitignore 파일( secrets.txt, .DS_Store) 이 git 에 추가된다.
git commit -m "initial commit" 을 local repository에 추가할 수 있다.
이후 remote repository 에 저장해도 sensitive data는 저장되지 않는다!
*숨기고 싶은 파일들은 (https://github.com/github/gitignore) 의 library 를 통해 gitignore pre-built template 찾아서 file-extension을 copy & paste 할 수 있다
-remote repository 에서 나의 working directory 로 git clone 하는 것!
-깃허브에서 원하는 깃허브 repository 에 가서, clone or download
버튼 을 클릭 하고 terminal 로 가서, git clone + 카피된 url
하면 나의 desktop에 저장된다!
아직은 많이 어색하지만 사용하다보면 익숙해 지리라 믿고 ㅜㅜ 꾸준히 반복해서 개념익히는거에 집중 해야 겠다!!