리눅스
- 리눅스 명령어 2017.12.26
- 차근차근 단계별 GitHub 사용법_생성,추가,수정 2017.12.26
리눅스 명령어
2017. 12. 26. 20:50
차근차근 단계별 GitHub 사용법_생성,추가,수정
2017. 12. 26. 19:41
리눅스를 통하여 Git에 cpp파일을 저장하려한다.
이전에 github을 이용하긴 했었지만 오랜만에 이용하니 처음부터 차근차근
해가는 과정을 보이겠다.
생성
-git 홈페이지에서의 과정
다음과 같이 new repositories에 내가 저장할 저장공간을 만들어준다.
-리눅스에서의 과정
1-1.working directory(work tree) 생성하기(work tree는 실제 파일들로 이루어진 디렉토리이다.)
ubuntu@ip-172-31-2-64:~$ mkdir gitit
1-2.work tree로 이동하기
ubuntu@ip-172-31-2-64:~$ cd ./gitit/
1-3.work tree 디렉토리 지정해주기
ubuntu@ip-172-31-2-64:~/gitit$ git init
Initialized empty Git repository in /home/ubuntu/gitit/.git/
ubuntu@ip-172-31-2-64:~/gitit$ git status
On branch master
1-4.내가 git에 올려줄 파일을 생성하여주기
ubuntu@ip-172-31-2-64:~/gitit vi stream.cpp
<이하 생략>
git status 명령어를 통하여 index(커밋을 실행하기전 저장소와 작업트리 사이에 존재하는 공간) 확인하기.
ubuntu@ip-172-31-2-64:~/gittest$ git status
2-1 인덱스에 등록하여주기
ubuntu@ip-172-31-2-64:~/gitit$ git add heritance
ubuntu@ip-172-31-2-64:~/gitit$ git add stream.cpp
2-2 인덱스 확인하기.
ubuntu@ip-172-31-2-64:~/gitit$ git status
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: heritance/employee.cpp
new file: heritance/employee.h
new file: heritance/heritance.cpp
new file: heritance/hourlyemployee.cpp
new file: heritance/hourlyemployee.h
new file: heritance/salariedemployee.cpp
new file: heritance/salariedemployee.h
new file: stream.cpp
3-1 commit하기. 이때 반드시 주석부분을 적어주어야한다.
ubuntu@ip-172-31-2-64:~/gitit$ git commit -m "12-26-gitfirst"
[master (root-commit) 755c618] 12-26-gitfirst
Committer: Ubuntu <ubuntu@ip-172-31-2-64.ap-northeast-2.compute.internal>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:
git config --global --edit
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
8 files changed, 361 insertions(+)
create mode 100644 heritance/employee.cpp
create mode 100644 heritance/employee.h
create mode 100644 heritance/heritance.cpp
create mode 100644 heritance/hourlyemployee.cpp
create mode 100644 heritance/hourlyemployee.h
create mode 100644 heritance/salariedemployee.cpp
create mode 100644 heritance/salariedemployee.h
create mode 100644 stream.cpp
4-1원격으로 저장할 장소 등록하여주기 (github을 통하여 시각적인 저장장소를 확인하기 위한 작업이다.)
ubuntu@ip-172-31-2-64:~/gitit$ git remote add gitit https://github.com/LEEleonardo/gitfirst.git
4-2 파일 올려질 장소 확인하기
ubuntu@ip-172-31-2-64:~/gitit$ git remote -v
gitit https://github.com/LEEleonardo/gitfirst.git (fetch)
gitit https://github.com/LEEleonardo/gitfirst.git (push)
4-3 파일 올려주기
ubuntu@ip-172-31-2-64:~/gitit$ git push gitit master
<다음과같이 홈페이지의 아이디와 페스워드를 쓰라고 나온다.>
Username for 'https://github.com': LEEleonardo
Password for 'https://LEEleonardo@github.com':
good!
추가
1-4.내가 git에 올려줄 파일을 생성하여주기
ubuntu@ip-172-31-2-64:~/gitit$ vi charstring.cpp
2-1 인덱스에 등록하여주기
ubuntu@ip-172-31-2-64:~/gitit$ git add charstring.cpp
2-2 인덱스 확인하기.
ubuntu@ip-172-31-2-64:~/gitit$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: charstring.cpp
3-1 commit하기. 이때 반드시 주석부분을 적어주어야한다.
ubuntu@ip-172-31-2-64:~/gitit$ git commit -m "charstring"
4-3 파일 올려주기
ubuntu@ip-172-31-2-64:~/gitit$ git push gitit master
Username for 'https://github.com': LEEleonardo
Password for 'https://LEEleonardo@github.com':
수정
1-4.내가 git에 올려줄 파일을 수정
ubuntu@ip-172-31-2-64:~/gitit$ vi stream.cpp
<상태를 확인하면 알아서 수정됨을 잡아준다.>
ubuntu@ip-172-31-2-64:~/gitit$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: stream.cpp
no changes added to commit (use "git add" and/or "git commit -a")
2-1 인덱스에 등록하여주기
ubuntu@ip-172-31-2-64:~/gitit$ git add stream.cpp
2-2 인덱스 확인하기.
ubuntu@ip-172-31-2-64:~/gitit$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: stream.cpp
3-1 commit하기. 이때 반드시 주석부분을 적어주어야한다.
ubuntu@ip-172-31-2-64:~/gitit$ git commit -m "streamfirstlinemodify"
4-3 파일 올려주기
ubuntu@ip-172-31-2-64:~/gitit$ git push gitit master
Username for 'https://github.com': LEEleonardo
Password for 'https://LEEleonardo@github.com':
확인하기
오류
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/LEEleonardo/gitfirst.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
이러한 오류가 발생하는 경우가있다.
기존에 있는 데이터에 추가적으로 데이터를 덮어 씌울때 발생하는 에러이다.
이를 그냥 무시하기위해서는 ubuntu@ip-172-31-2-64:~/gitit$ git push gitit +master
이렇게 +를 붙여주어 무시할 수 있다.