Git과 Github가 무엇인지 알아보고 명령어는 어떤것들이 있는지 알아보자.
위 사진을 보면 어떤생각이 드는가..
나 또한 이런식으로 여러번 문서를 관리했던 경험이 있다. 이런식으로 문서과리를 하다 결국은 최종버전이 진짜최종버전이 아닌데 진짜진짜최종버전을 보내고 실수를 깨닫고 진짜진짜레알최종"진짜 최종" 짤로 유명한 이 짤은 비효율적인 업무방식을 그대로 보여준다.
이러한 비효율적 업무는 Git과 Github로 해결이 가능하다.
- 분산형 버전 관리 시스템의 한 종류이다.(git 외 mercurial, bazaar 등)
쉽게 말하면 우리 컴퓨터에서 일어나는 파일들의 변화를 시간에 따라 기록했다가 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다.
즉, 진짜 최종 같은거 안해도 된다는 것.
리눅스 명령어를 알아야 한다.
- pwd : 본인의 현재 위치 확인
- cd : change directory : 일루 들어갑니다~ 라는 의미
- mkdir : make directory : 폴더 생성
- touch : touch 파일명 : 파일 생성~
- ls : 이 명령어는 다음과 같은 옵션과 함께 사용할 수 있다.
-a (all) : 숨김 파일을 포함한 모든 목록 출력
-l : 각 목록의 세부 정보까지 함께 출력
-d : 특정 파일이나 디렉토리를 지정해서 정보를 확인 (ls -ld의 형태로도 사용 가능)
-n : 파일 및 디렉토리 정보 출력시 UID, GID 형태로 출력 (ls -ln의 형태로도 사용 가능)
-F : 파일 및 디렉토리(즉, 목록)의 형식을 표시
-R : 디렉토리의 하위 정보까지 모두 확인git 명령어
git init
: 깃 저장소를 초기화한다. 저장소나 디렉토리 안에서 이 명령을 실행하기 전까지는 그냥 일반 폴더이다. 이것을 입력한 후에야 추가적인 깃 명령어들을 줄 수 있다.git config
: “configure”의 준말, 처음에 깃을 설정할 때 가장 유용하다.git help
: 명령어를 잊어버렸다? 커맨드 라인에 이걸 타이핑하면 21개의 가장 많이 사용하는 깃 명령어들이 나타난다. 좀 더 자세하게 “git help init”이나 다른 용어를 타이핑하여 특정 깃 명령어를 사용하고 설정하는 법을 이해할 수도 있다.git status
: 저장소 상태를 체크. 어떤 화일이 저장소 안에 있는지, 커밋이 필요한 변경사항이 있는지, 현재 저장소의 어떤 브랜치에서 작업하고 있는지 등을 볼 수 있다.git add
: 이 명령이 저장소에 새 화일들을 추가하진 않는다. 대신, 깃이 새 화일들을 지켜보게 한다. 화일을 추가하면, 깃의 저장소 “스냅샷”에 포함된다.git commit
: 깃의 가장 중요한 명령어. 어떤 변경사항이라도 만든 후, 저장소의 “스냅샷”을 찍기 위해 이것을 입력한다. 보통 “git commit -m “Message hear.” 형식으로 사용한다. -m은 명령어의 그 다음 부분을 메시지로 읽어야 한다는 것을 말한다.git branch
: 여러 협업자와 작업하고 자신만의 변경을 원한다? 이 명령어는 새로운 브랜치를 만들고, 자신만의 변경사항과 화일 추가 등의 커밋 타임라인을 만든다. 당신의 제목이 명령어 다음에 온다. 새 브랜치를 “cats”로 부르고 싶으면, git branch cats를 타이핑한다.git checkout
: 글자 그대로, 현재 위치하고 있지 않은 저장소를 “체크아웃”할 수 있다. 이것은 체크하길 원하는 저장소로 옮겨가게 해주는 탐색 명령이다. master 브랜치를 들여다 보고 싶으면, git checkout master를 사용할 수 있고, git checkout cats로 또 다른 브랜치를 들여다 볼 수 있다.git merge
: 브랜치에서 작업을 끝내고, 모든 협업자가 볼 수 있는 master 브랜치로 병합할 수 있다. git merge cats는 “cats” 브랜치에서 만든 모든 변경사항을 master로 추가한다.git push
: 로컬 컴퓨터에서 작업하고 당신의 커밋을 깃허브에서 온라인으로도 볼 수 있기를 원한다면, 이 명령어로 깃허브에 변경사항을 “push”한다.git pull
: 로컬 컴퓨터에서 작업할 때, 작업하고 있는 저장소의 최신 버전을 원하면, 이 명령어로 깃허브로부터 변경사항을 다운로드한다(“pull”).
1. 리눅스 명령어로 로컬에 파일 만들기
1. pwd 현재 내 위치 확인
2. ls 어떤 문서들이 있는지 목록 확인
3. cd Desktop/ 디렉토리 이동~
4. mkdir 폴더명 : 폴더 생성
5. cd 방금만든폴더명/
6. touch 파일명.확장자
7. ls로 확인
잘 만들어진다.
여기까지는 그냥 리눅스 명령어만 사용해본것 뿐이다.
이제Git
을 설치하고github
Repositories(저장소)
를 새로 파서 코드 push까지 해보자.2. Git 설치 후 버전 확인
git --version
Git이 정상적으로 설치되었다면, 현재 설치되어있는 Git 버전이 표시된다.
(TMI : 난 윈도우를 쓴다..)3. Github Repositories 생성
Git Repository는 Git으로 관리하는 프로젝트 저장소이다.
- Local Repository : 본인의 컴퓨터에 저장된 로컬 버전의 프로젝트 저장소.
- Remote Repository : 로컬이 아닌 외부 서버의 프로젝트 저장소.
팀 단위의 작업을 진행할 때 유용합니다. 이 곳에서는 프로젝트 코드를 공유할 수 있고, 다른 사람의 코드를 확인할 수 있습니다. 또한, 로컬 버전의 프로젝트와 병합, 변경 사항 등을 적용할 수 있다.
- 레포(Repository) 생성~
깃헙 로그인하고 +버튼 눌러서 New repository 누르면?
이런 화면 뜨는데 위와같이 레포 이름 입력하고 create repository 누르면 생성 된다.자! 이렇게 다 만들었으면 현재 리눅스 명령어를 사용해 로컬에
git실습
파일이 생성 되어 있어야 하고, 레포도 생성되어 아래와 같은 화면을 띄고 있어야 한다.
이제,
git init 명령어를 입력해git실습
폴더에.git
파일을 생성하고 앞으로 Git이 현재 레포에 대한 모든 변경사항을 추적하고 관리하게 할 것이다. 잠시 위에 github화면을 최소화하고 터미널로 돌아가서
pwd로 git실습 폴더에 있는지 확인하고 git init 입력해서 명령어가 잘 실행 되었다면?
위와 같은 메세지를 출력해 줄 것이다.
git status
Git으로 작업할 때 어떤파일이 변경 또는 추가 되었는지 등 전부 확인 가능하다.
아까 만든 readme.md라는 파일이 빨간이름으로 나온다.이제 이 readme.md 파일을 staging area에 추가해주는 작업을 할 것이다.
git addgit add "파일이름" # 명령어 git add . # 폴더 내에 있는 파일 전체 add해줘~ git add readme.md # 실제로 사용할 때
녹색으로 글자가 바뀌었다면 staging area readme.md 파일을 잘 add해줬다는 뜻.
git commitgit commit -m"커밋할 메세지" # 명령어 git commit -m"first commit" # 실제로 입력한 메세지
git log
git log 명령어를 통해 지금까지 찍은 커밋 내역을 확인할 수 있다.github레포에 push하기
드디어 원격 레포에 파일을 push할 시간이 왔다.
git remote add origin [만든 레포 주소]
git remote add origin [repository 주소] git remote -v git push -u orign master ### 실제 사용한 명령어 git remote add origin https://github.com/kho5420/git_test_repo.git git remote -v git push -u origin master
입력하고 아래와 같은 화면이 나왔다면 성공!
깃헙에 들어가서 확인해보면?
오케이 커밋 메세지도 파일도 잘 들어왔다. 이렇게 쓰면 된다.
글 엄청 잘 쓰시네요 멋집니다