파일 위치 설정하고
git add 명령어를 이용해 원하는 파일을 깃헙에 업로드한다.
그리고 git commit 명령어를 통해 등록한 코드에 대한 기록을 한다.
git add document.txt
git commit -m "Add Text File [document.txt]"
git push
실행결과
오픈소스의 컨트리뷰션 활동은 이력이 된다!
별이 많이 박힌 (1000개 이상) 오픈소스를 보는 것만으로도 좋은 자극과 공부가 될 수 있다!
커미터 <-> 컨트리뷰터
커미터 (committer) : 실제로 누군가 컨트리뷰션을 하면, 해당 내용을 라부하고 실제 프로젝트에 반영할지 결정하는 사람. 오픈소스 관리자
깃은 프로젝트를 commit하여 적용하는 순간을 중요시함. 파일 자체를 저장하기 보다 수정내역 자체를 저장 --> 메모리를 효율적으로 관리함.
git add : working directory에서 진행한 작업을 git add 명령어를 통해 staging area에 반영한다.
git commit : local repository에 반영한다. 내 컴퓨터에 있는 .git 폴더에 기록한다.
git push : commit한 내용을 깃헙(remote repository)에 기록한다.
git fetch & git merge : 다른 사람이 작업한 내용을 내 컴퓨터에 반영한다.
git pull : fetch와 merge를 동시에 하는 것
repo(저장소)는 실제 소스코드가 담겨 있으면서 commit 내역 등의 모든 작업이력이 담겨있는 공간
--> .git
오픈소스의 관리자가 승인하는 경우 반영됨.
git status 명령어를 입력하면 현재 프로젝트의 상태를 확인 (staging area에 올라갔는지 아닌지 확인할 수 있다.)
git reset 명령어를 통해 staging area에 올라가있는 파일을 다시 내릴 수 있다.
git add . --> "."은 모든 파일을 add 한다는 것이다.
git checkout -- (파일명) 명령어를 통해서 이전 버젼의 파일로 복구가 가능하다.
마지막으로 push 명령어를 통해 깃헙에 반영해준다.
git log : commit 내역을 보여줌.
C:\Tutorials\Git-Tutorial>git log
commit 43a8e973b16277fb4027a9ca0046f4636a46c2eb (HEAD -> main, origin/main, origin/HEAD)
Author: minhee020 <minhee020@naver.com>
Date: Wed Dec 29 14:37:21 2021 +0900
Add my_module [Mul]
commit bde6d96c2fd200a7ee0bd0f80c74e94d2d1a3fad
Author: minhee020 <minhee020@naver.com>
Date: Wed Dec 29 14:21:27 2021 +0900
Add my_moudle [Sub]
commit 076271bc0ef3e46c9f2dff6197d5d3e9866aff85
Author: minhee020 <minhee020@naver.com>
Date: Wed Dec 29 14:18:45 2021 +0900
Add mu_module [Add]
commit fa9bbda1badc66fb64a16ae530377bfd36866104
Author: minhee020 <minhee020@naver.com>
Date: Wed Dec 29 13:22:05 2021 +0900
Add Text File [document.txt]
git reset --hard (log의 코드 입력) : 이 이후 발생한 모든 수정내역을 삭제
(소프트도 존재한다.)
git push -f : 일반적인 push는 오류가 뜨기 때문에 -f 옵션을 이용해 강제적으로 깃헙에 푸쉬해준다.