git retmoem git push

  • remote: 프로젝트의 원격 저장소를 관리하는 명령어
  • push: local repository에 있는 파일을 원격 저장소에 저장하는 명령어

git remote

$ git remote

git remote

현재 원격 저장소에 대한 연결을 설정하지 않아 아무런 내용도 표시되지 않는다.
먼저 원격 저장소를 연결한 후에 변경사항을 push 해보자

$ git remote add origin https://github.com/dev-tester1213/new_project.git

git repository

github에 새로운 repository를 생성하면 위와와 같은 화면이 나온다.
새로 생성한 프로젝트와 기존에 존재하는 플로젝트에 대하여 설정할 수 있는 가이드가 나온다.

  • …or create a new repository on the command line
    빈 폴더일 경우에 README.md 파일을 작성하고 add > commit > 원격저장소 연결 후 push 하는 방법이다.
  • …or push an existing repository from the command line
    기존 존재하는 프로젝트의 경우 원격 저장소 연결 후 push 하는 방법이다.

git push

$ git push fatal: The current branch master has no upstream branch. To push the current branch and set the remote as upstream, use git push --set-upstream origin master

fatal 에러, upstream branch가 없다는 에러가 메시지와 함께 아래 명령어를 입력하라는 메세지가 나온다.
그대로 다시 입력해보자.

git push

아이디와 패스워드가 설정되지 않았다면 아이디 패스워드를 입력해야한다.

git push --set-upstream origin master Username for 'https://github.com': dev-tester1213 Password for 'https://dev-tester1213@github.com': Enumerating objects: 8, done. Counting objects: 100% (8/8), done. Delta compression using up to 12 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (8/8), 608 bytes | 608.00 KiB/s, done. Total 8 (delta 0), reused 0 (delta 0) To https://github.com/dev-tester1213/new_project.git * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.

push가 정상적으로 성공하였으며 push 결과를 확인할 수 있다.

git push done

github repository 정상 등록되었고 등록된 파일이 나타나는걸 확인할 수 있다.

git commit(local repository 추가), git log

  • commit: stage에 있는 파일을 local repository에 저장
  • log: commit 히스토리 조회

$ git status

Changes to be commited: stage에 올라가 있는 파일을 나타냅니다.
이제 해당 파일들을 커밋합니다.

 

git commit

$ git commit

git에 설정된 텍스트 편집기가 실행되고 commit 메세지를 작성할 수 있습니다.
사진의 화면은 vim 편집기 화면입니다.
#은 vim 편집기에서 주석으로 사용되기 때문에 #의 내용은 반영되지 않습니다.



커밋 메세지를 작성하고 저장합니다.

 

master branch에 커밋되었고 파일의 간단한 변경사항을 볼 수 있습니다.

 

git commit -m "first commit"

텍스트 편집기를 실행하지 않고 commit 메시지와 함께 바로 commit합니다.


commit 후 동일한 변경사항을 볼 수 있습니다.

 

git commit -m "first commit" -m "second commit"

-m option을 여러번 작성하면 모든 commit 메세지는 별도의 단락으로 구분되어 모두 commit됩니다.


first commit, second commit 모두 커밋된 걸 확인할 수 있습니다.

 

git commit --amend

--amend option은 이전에 커밋에 대한 메세지 내용을 수정할 수 있습니다.

텍스트 편집기가 실행되고 이전에 커밋했던 메세지 내용을 확인할 수 있습니다.
추가로 메세지를 작성하거나 삭제하여 커밋 메세지를 수정할 수 있습니다.

 

second commit -> third commit 으로 변경되었습니다.



git status, git add

  • status: 파일 상태 확인
  • add: 파일을 stage로 올리기
  • commit: stage에 있는 파일을 local repository에 저장

git status

파일의 상태를 보여주는 명령어입니다.

모든 파일은 Tracked(이전에 커밋되어 추적중인 파일)와 Untracked(커밋된 이력이 없는 신규 파일)로 구분됩니다.

$ git status

git status


git status: 파일의 상태를 보여줍니다.
Changes to be commited: stage에 올라가 있는 파일을 나타냅니다.
Changes not staged for commit: 추적중인 파일이 수정된 상태지만 stage에 올라가지 않은 파일입니다.
Untracked files: 신규 파일 리스트입니다.


git add

git add 명령은 현재 프로젝트에서 변경사항이나 새로운 파일을 사용하여 인덱스를 업데이트히고 새로운 커밋을 하기 전에 실행하는 명령입니다.
git add 명령은 새로운 커밋을 생성하기 전까지 여러번 실행할 수 있습니다.
git add 명령은 기본적으로 무시된 파일을 추가하지 않습니다.
제외된 파일이 있는 경우 명령줄에 명시적으로 지정되면 git 추가가 실패하고 무시된 파일 목록이 표시된다.

제외된 파일: 프로젝트 파일 내에서 별도로 관리되지 않아도 되거나 관리가 필요없는 파일들이 있습니다.
프로젝트 로그 파일이나, 프로젝트 빌드시 자동으로 생성되는 파일들, 혹은 nodejs 프로젝트라면 node_moduels같은 폴더가 대상이됩니다.
이런 파일들을 .gitignore 파일을 설정하여 관리대상에서 제외시킬 수 있습니다.
나중에 자세히 알아보겠습니다.

$ git add config.js $ git status

git add


commit을 위해 수정한 파일들을 stage에 올리는 작업입니다.
git add config.js: config.js 파일을 stage에 올립니다.
config.js 파일의 상태가 변경된 걸 확인할 수 있습니다.



복수의 파일 등록

$ git add config.js index.js

git add multiple


여러 파일을 같이 올릴 수 있습니다.
많은 파일을 수정했을 때 파일별로 나누어서 stage에 올릴 때 사용합니다.
파일별로 나누어서 올리고 commit하면 나중에 commit 단위로 수정사항을 확인할 수 있어서 편리합니다.


한번에 등록

$ git add .

git add .


한 번에 모든 파일을 올릴 수 있습니다.
일일이 모든 파일을 지정하지 않고 모든 수정사항을 한번에 등록할 때 사용합니다.
위와 반대로 수정한 파일이 한번에 stage에 올라가야 하거나 몇 개 없을때 사용하면 유용합니다.


다음 단계

등록된 파일을 로컬 저장소에 저장(git commit) 방법에 대해 알아보겠습니다.

[Git] - git commit, git 커밋, git 저장



git 시작하기

  • 현재 작업중인 프로젝트 폴더로 이동하여 git 시작하기
  • remote git 저장소에서 프로젝트 clone 하기

git init (프로젝트 폴더)

$ cd ~폴더경로/new_project $ git init

.git


.git 이라는 폴더가 생겼다. 이제부터 new_project는 git을 이용하여 협업할 수 있습니다.



git clone (remote 저장소에서 프로젝트 clone)

유명한 javascript 유틸리티 프로젝트인 lodash를 clone해보겠습니다.

lodash는 굉장히 많이 사용되는 자바스크립트 유틸리티 라이브러리로써 array, collection, date, number, object를 사용할 떄 번거로운 작업들을 줄여주고 손쉽게 사용할 수 있습니다.
javascript를 사용하신다면 한번 살펴보시는것도 좋을꺼 같습니다.


git hub


github에 code 버튼을 누르고 빨간원 안의 버튼을 누르면 git 주소를 복사합니다.


$ cd ~폴더경로/ $ git clone https://github.com/lodash/lodash.git



  • 폴더명 지정하여 clone하기
$ cd ~폴더경로/ $ git clone https://github.com/lodash/lodash.git lodash-other

git folder name


마지막에 지정할 폴더 이름을 적으면 폴더명을 변경하여 clone할 수 있습니다.
똑같은 명령어에 뒤에 폴더명만 추가된 것을 확인할 수 있습니다.
이제부터 git을 활용하여 협업할 수 있습니다.

다음 단계

수정된 파일을 등록하고 파일 상태를 확인하는 방법에 대해 알아보겠습니다.

[Git] - git add, git status, git 추적, git index



+ Recent posts