Git -기본 개념 정리

권수민·2023년 8월 7일
1

Git은 무엇이고 github은 무엇인가?

git은 나의 프로그램의 모든 발자취를 저장하고 기록하는 곳.
github은 온라인 백업 저장공간 및 작업을 공유하여 협업을 가능케 하는 곳이다.

오늘 기본적인 git 관련 포스팅을 하겠다. 시간을 놓쳐 짧게나마 올리겠지만 다시 시간될때 보충할것.

먼저 git을 쓰기 위해선

1.git init 즉, 초기설정을 해준다 => .git을 생성하는것이다.
2.github에 나의 계정을 만들고 새로운 레퍼지토리 생성.
3.git remote add origin git@github.com:Stella-Kwon/myrepository.git
git branch -M main => master 에서 main으로 이름변경
(인간평등의 이유로 단어가 선정적이다..라고 이슈되어)
4.git push -u origin main

이 코드를 작성해주면 기본적이 깃 세팅은 끝이 난다.

만약에 이미 이 폴더를 다운받은적이 있다면...?

git clone 주소 => 폴더 까지 복제
git clone 주소 .=> 파일만 복제
띄어쓰고 . 붙히면 그 폴더 안에 폴더 생성x --> 파일만 그 폴더에 복사되어온다.

만약 메인이 아닌 다른 브랜치에서 clone을 하고 싶다면

git clone -b <브랜치명> <url주소>

여기서 한가지 더 SSH-key에 관련한 포스팅을 할것인데 그건 다음에.....
아주 shh-connection이 블록이 되었는 한 열댓번을 다시연결한거같....지만 해결책을 찾았으니 공유하겠다.

추출:
https://shinjam.tistory.com/entry/GitGithub-SSH-%EC%84%A4%EC%A0%95

https://velog.io/@resident000/ssh-%EC%A0%91%EC%86%8D-%EC%8B%9C-port-22-blocked-%EB%AC%B8%EC%A0%9C

그 후에는 코드를 작성한후

git add .(all) or [파일명] => 파일을 지정
git commit -m "메세지" => 저장
git push origin '브랜치명'=> github 올려주기

의 작업을 해야 기본적인 깃과 깃허브의 사용법 마무리가 된다.

허나 여기서 기본적으로 내 레퍼지토리의 파일 확인이 필요할 수 있는데..?

=> git log :
커밋들의 기록을 확인할 수 있으며 추후의 커밋기록을 지워 낼 수 있는 커맨드에 필요.
---나의 수정 기록들을 볼 수 있는 곳
--- 추후 수정 한 후 망가져 다시 그 이전으로 돌아가고싶을때 등등

=> git status :
파일의 현 상태를 상세히 알려주는.
---수정이 되었든 처음 add하던, add가 되었는지 안되어있는지를 확인할 수있다.
안 되었다면 빨간색, 되어있다면 초록색

=>git branch : 아주 중요한 git 요소 중 하나로....
---먼저 main을 공용 또는 원본 파일이라고 가정했을때 함부로 수정하고 고치게 되면 추후 발생할 불가피한 상황을 대비해 보험으로 따로 두고 그것을 복사하여 다른 곳에다가 작업을 진행하고 싶을때 branch를 사용한다.

브랜치관련

브랜치 생성
==> git branch 브랜치명

브랜치 위치변경
==> git checkout 브랜치명 or git switch 브랜치명

여기서 한번에 생성과 브랜치 위치변경
==> git switch -c 브랜치명 or git checkout -b 브랜치명
--참고로 switch 는 새로운 커맨드로 checkout 은 좀더 다른 여러 기능을 가지고 있으니 추가 조사!

여기서 하나더 추가로 말씀드릴 point!

git merge 관련한 것인데.... => 이것을 github GUI를 보고 사용하는 것을 추천한다.

merge란 무엇인가 바로 합병을 뜻하는데,

쉽게 merge를 해버리면 안되기 때문에 언제나 merge 전에 자신의 코드가 제대로 돌아가는지 체크하고 merge 해야한다.
(branch 나 commit 기록을 활용하여 추후 문제가 되는 부분으로 돌아갈수 있다)

또 다른 한가지의 경우는 만약 다른 팀원이 코드를 그 사이에 추가해 겹치는 상황이 발생되면 (라인에 따른 코드 불일치 등)

github를 통해 위에 pull request를 들어가 merge 하려해도 conflict 발생으로 merge되지 못하니

다시 git pull origin main 을 하여 코드를 수정한 후

add, commit, git push origin 현 브랜치 후에 merge를 다시 실행시킬수 있다.

여기서 git pull 은 fetch + merge 개념으로 생각하면 된다.
pull 같은 경우 가져오려고 하는 브랜치를 가질게될 브랜치에서 사용해주면 된다.
==> 현 branch 위치 : login
불러올 branch : main

login에서 git pull origin main
반대라면 git pull origin login

원격 저장소와 로컬 저장소에 있는 파일을 삭제한다.

$ git rm [File Name]

원격 저장소 추적목록에 있는 파일을 삭제한다.
커밋푸시하면 원격저장소에도 삭제된다.
로컬 저장소에 있는 파일은 삭제하지 않는다.

$ git rm --cached [File Name]

.idea/modules.xml 파일 삭제텍스트

$ git rm --cached .idea/modules.xml

.idea 폴더 하위의 모든 파일 삭제

$ git rm --cached -r .idea/

참조들:

https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-Github%EC%97%90-%EC%9E%98%EB%AA%BB-%EC%98%AC%EB%9D%BC%EA%B0%84-%ED%8C%8C%EC%9D%BC-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0

git 관련 추가 읽을 문: https://backlog.com/git-tutorial/kr/stepup/stepup1_2.html

git remote remove 라던지...
출처: https://cheershennah.tistory.com/217
https://velog.io/@roong-ra/Git-Github-%EC%82%AC%EC%9A%A9%EB%B2%95-%ED%8C%8C%EC%9D%BC%EC%82%AD%EC%A0%9C-%EC%B4%88%EA%B8%B0%ED%99%94-url-%EB%B3%80%EA%B2%BD

기본 터미널 커맨드 .....
출처 :https://jonsnow.tistory.com/9

깃 추가 내용...
출처 : https://teamsparta.notion.site/Git-7aa406d8c87247d5838168d649c56ab8

깃 협업 : https://proglish.tistory.com/95

추가로 설명할것듯은 추후에 좀더 보충하도록하겠다.

profile
초보개발자

0개의 댓글