카테고리 없음

Git 사용하기 (왕초보)

늦은산책 2023. 2. 22. 15:38

우리는 개발을 하다 보면 뗄래야 뗄수없는것이 하나 있다. 바로 Git이라는건데

오늘은 그중 Git명령어를 배워보려고한다.

 

Git을 시작하게 되면 가장 먼저 해주면 좋은것이 나의 github닉네임과 이메일을 집어넣어주는것이다.

 

git config --global user.name+(닉네임) = 나의 Github닉네임이다
git config --global user.email+(이메일) = 나의 이메일을 적는다.

이렇게 하면 git에 나의 정보가 입력이 된다. 신원을 확인한 상태로 시작한다

 

그럼 이제 파일을 만들고 거기에 있는 파일을 올리는 과정을 알아보자

그전에 알아둬야 할 것이 있다.

로컬 저장소 (Local Repository) : 내 컴퓨터에 저장된 프로젝트 폴더
원격 저장소 (Repository) : 온라인 상에 저장된 프로젝트 폴더
  1. git init 
     = 해당 폴더와 깃을 연결하기 위해 만들어주는 파일 .git 이라고 되어있을것이다.
  2. git remote add + (원하는 명칭) + (원하는 주소)
     = 로컬 파일을 원하는 명칭으로 바꿔주는 행위로써 Repository랑 연결하는 과정이다.
  3. git remote -v 
     = 우리의 파일이 잘 연결되어있는지 확인하는과정
  4. git status 
     = 우리가 파일을 만들거나 수정하면 파일 상태를 확인 할 수 있는 명령어이다
  5. git add (파일 명)
    = git 의 stagin Area 로써 우리가 저장하거나 생성한 파일을 여기로 보내 임시 저장시킨다.
  6. git commit -m "원하는 태그"
     =  우리가 만든 파일을 Repository로 들여보내는 명령어 있다. 하지만 우리한테 보이지는 않는다. 
         ※ 태그는 같이 하는 프로젝트 같은 경우, 팀만의 규칙이 있을테니 따르면 된다.
  7. git push + (2번에서 지정한 원하는 명칭) + (Branch)
     = 우리가 repository 에 보내서 저장해놓은 파일을 시각적으로 보이게 만드는것이다.
         참고로 branch는 main인지master인지 잘 확인해야한다.

이렇게 순서가 끝이난다.

 


그럼 이제 조금 심화해서 배워보자

$ git reset

우리가 코드를 만들고 add까지 진행을 하였다. 근데 실수를 했던것이 생각이 났다. 그럼 이미 add에 들어가버린 코드르 어떻게 빼올수있을까? 그때 사용하는것이 git reset이다.

git reset+(파일이름)을 적어주면 add에 들어가 있던 파일이 다시 빠져나온다.

 

$ git checkout --

나름 유용하게 사용할수 있다. 우리가 코드를 굉장히 많이 작성하고 add로 우선 저장을 하였다. 그리고 나머지 코드를 마저 작성하는데 코드가 엉망으로 꼬여버렸다. 그럴때 사용하기 아주 좋은 기능이다.

코드가 완전히 꼬여버리기 전으로 아예 돌려버리는것이다. 

git checkout --(파일명) 을 하면 우리가 수정하기 전단계로 돌아간다.

 

$ git commit --amend

우리는 commit을 통해 코드의 태그또한 달아줄수있다.  그 코드의 대략적인 설명인것이다. 이는 매우 중요한 역할을 하는데 우리는 사람이기 때문에 실수를 할 수 있다. 그 실수를 돌리기위해 사용하는 명령어라고 보면된다.

※ 이러한 실수는 commit을 한 후에 나올수있는 실수이다

    이 명령어를 작성한 후에 태그을 고치고 push를 하면 태그가 고쳐진채로 push가 완료된다.

git commit --amend 라고 치면 특정한 에디터가 하나 나온다.
그것은 UNIX에디터이다. 거기서 우리는 가장 맨 윗줄에 우리가 잘못 적은 이름이 보일테고 
그것을 바꾸고 싶다면 "A"를 입력하여 들어가서 바꾸면된다.
다 바꿨다면 ESC를 눌러 가장 밑의 메세지 창에 " :wq! " 를 사용하면 밖으로 빠져나오게 된다

 

$ git log 

우리는 앞으로 수많은 커밋을 해서 파일을 저장하는 상황이 올 것이다. 그런데 우리가 커밋을 하다보면  어떻게 저장해 왔는 지 상황을 보고싶을 때가 올수있다. 그때 사용하는것이 git log이다

git log 라고 적어주면 우리가 지금까지 한 commit을 완료한 로그들이 쭈욱 나온다
※ 아마 양이 많다면 엔터를 누르면 계속해서 나올것이고 그만 보고 싶다면 Q를 눌러서 종료하면 된다.

 

$ git reset --hard + (hashTeg)

git log를 통해 우리가 지금까지 저장해놓은 파일들을 살펴보는데 어느 지점부터 필요가 없거나 삭제를 하고싶은 경우가 올수있다. 이때 사용하는것이다.

.git reset --hard + (hashteg)를 사용하면 그 이후로 한 모든 push상황들을 지워버릴수있다. 그러면 우리 컴퓨터에서 사라진다. 
※ hashteg는 로그의 머리쪽에 commit 옆에 길게 적혀있다.
soft와 mixed 도 있으니 알아보는것이 좋겠다.

자! 이런식으로 hard reset을 하게 되면 우리 컴퓨터의 정보는 사라지지만 github에서는 사라지지않는다.

그러면 push도 통하지 않기 때문에 우리는 강제성을 띄우고 삭제시키는 방법을 사용해야한다.

$ git push -f origin master 이런식으로 명령어를 쓰게되면 repository에서도 지워지게 되는것이다.