Git bash 를 해보자
Git 은 아주 유명한 형상관리 툴이다.
Git 을 사용해보기 전에는 SVN 을 사용했었으며 주로 commit 만을 다뤘다.
branch 할 일이 거의 없었다.
Git 을 사용해보니 Branch 부터 뭔가 더 자유도가 높다는게 확실히 느껴진다.
지금까지 개인PC 의 경우 소스트리, 회사PC 의 경우 TortoiseGit을 사용했었다.
이러한 GUI 제공되는 Tool을 사용하다 보니 매우 방대한 Git 에 비해 아쉬운? 느낌이 강했다.
이번에 bash 환경에서 Git 을 제대로 사용해보자가 취지이다.
해보니 생각보다 더 재미있다. 뭐 엄청 많은걸 한건 아니고 초반 셋팅부터 branch commit 최종 push 까지이다.
bash 로 숙달시켜놓으면 좋은점은 당연 linux에서도 사용이 편리하다는 점이다. 이질감이 없게
Git 을 다운받고 ~~ GitHub 나 Yona 같은 저장소를 만들어 놓으면 기본준비는 다된것이다.
Git 에는 엄청 많은 명령어들이 존재하고.. 다 알기는 힘들거같지만 기본적인건 어지간하면 알아두자
나중에 alias 해서 쓰기 전까지는
git init, git branch, git add, git config, git log, git commit, git remote, git push, git pull, git fetch
와 관련된 명령어들은 어느정도 숙지해 두는 것이 좋다고 생각된다. 가장 기본이기도 하고, 자주 쓰기도 하기 때문이다.
초반 셋팅
git init
git 생성하기 위한 명령어 이다.
git clone http://
git 경로의 디렉터리를 복사하여 가져온다.
git config --global --list
토튜리얼 setting 에서 했을 작업들이 config 에서 이루어 진다. --global 은 전역의 의미이다. user.name, user.email 등이 있다.
git config --list
--global 에 비해 셋팅이 비교적 많다. 마치 uboot printenv 를 보는것 같다. diff, filter, http, core, credential 등 더 알아가야 할게 많다.
local 에 올리기
git add --all
수정된 부분의 파일 및 디렉터리를 stage area에 load 한다.
git commit -m "Set Message"
local 저장소에 commit 하며 -m 은 메세지 이다.
분기하기
git branch name
branch 를 생성한다.
git branch -d name
branch 는 분기인데. 기본적으로 head->master 로 default branch 가 되어있다. -d 는 delete 이다.
git branch -v
branch 의 모든 정보를 출력한다.
git branch -r
원격에서의 branch 가 출력된다.
git branch -a
로컬 branch 가 모두 출력된다.
git checkout name
branch_name 으로 변경한다.
log로 commit 정보 확인하기
git log
commit한 정보가 출력된다.
git log --oneline --decorate --graph --all
commit 정보와 branch 정보도 알 수 있으며 한줄로 모두 출력된다. 비교적 위에보다 보기 편리해진다.
원격 저장소 연결하기
git remote -v
remote 로 설정된 이름(default=origin) 과 remote path 가 출력된다. 여기서 알 수 있는건 remote는 ex)Github 같은 url을 정해 주어야 한다는 것이다.
git remote add origin http://github.com/name/name.git
remote origin 이라는 녀석에게 http 경로를 서로 maching 한다. 한몸이 되는거다.
원격 저장소에 올리기
git push origin sub
local 저장소 까지 commit 된 부분을 remote repository 에 load 한다.
원격 저장소에서 가져오기
git pull origin(remote_name) master(branch_name)
원격 저장소의 파일 및 디렉터리 변경된 정보들을 원격저장소와 연결된 remote 를 통해 branch 로 가져온다.
아래는 github push 까지 한 결과이다.
https://github.com/Anthony8062/ModbusTcp/tree/sub
Anthony8062/ModbusTcp
프로젝트. Contribute to Anthony8062/ModbusTcp development by creating an account on GitHub.
github.com
위는 GitHub 이다.