본문 바로가기

code 정리 모음집

Git & Github 사용법 / 명령어 정리 / git 사용해서 github에 파일 올리기 / clone 다운받기 / 협업 시 사용방법 / git 다운로드

반응형

(계속 업데이트 중 🌱) 

 

 

 

먼저 할일 :

1. git 다운받기 

git-scm.com/downloads

 

Git - Downloads

Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific exp

git-scm.com

오른쪽 download click! 

 

-> 클릭하면 자동으로 다운받아진다. 

 

 

자동 다운이 실행안되었을 경우 'Click here to download manually' 클릭해서 수동 설치합니다. 

 

 

 

2. GitHub 회원가입 

 

github 들어가서 회원가입 & 저장소 만들기↓↓↓ 

github.com/

 

GitHub: Where the world builds software

GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

 

 

 


 

 

 

 

 ☞ git 사용해서 github으로 내 소스 올리기 

 

 

 

1. git init git를 시작하겠습니다. 

visual studio 의 사용할 파일 들어가서 Ctrl+Shift + ` 입력 - >터미널 켜짐 -> 위의 git init 명령어 실행 

=> 나 이 폴더 git으로 사용한다! , 해당 폴더에 불투명한 숨겨진 .git 파일이 생김. 

 

Initialized 

git status 명령어로 확인해보면 파일들이 아직 안담겨있음. 

 

친절하게 no commits yet이라고 나온다. 

 

 

 

2. git add .      -> 여기서 반드시 . 앞에 space 띄어쓰기 **   git에 해당 폴더 모든 내용을 담겠습니다. 

 

git add index.html 이렇게 파일 하나하나를 add 담을 수도 있다. 

* add라는 것은 담는 의미이지 아직 git에 commit 한 것은 아님 

* commit 새로운 commit이란 걸 만든다. 저장한다. 라는 뜻 

약간 요 아래 뜻으로 이해하면 될 것 같다. 

  • 9. 타동사 [VN] ~ sth to memory~을 마음에 새기다[기억하다]
  • She committed the instructions to memory.  그녀는 그 지시 사항들을 기억해 두었다.

 

 

 

 

 

3. git commit -m "update everything"  add로 담은 내용을 commit 합니다.

* -m 의 뜻은 memo 이다. " " 요 안에 들어가는 내용은 내가 기록하고 싶은 내용을 담는다. 

 

git status

-> commit 할 것이 혹시나 남았나 확인

 

-> nothing to commit 나옴. 굳

 

 

git log

-> 과거 history 보기 

-> 나중에 이 commit으로 돌아오고 싶을 때 저 노란 commit 넘버를 쳐서 돌아올 수 있다. 

 

너무 기니깐 앞 6자 정도만 써도 된다. 

 

 

 

* 여기서 메모 -m "~"  부분을 빼고

git commit 명령어만 실행하게 되면 edit 창이 열리고 다음 명령이 실행되지 않는다. (메모장이 열림) 

이 경우 명령어 [ :q! ] (대괄호 제외) 를 써서 되돌아가면 된다. 

 

 

 

 

 

 

4. git remote add origin [url주소] git hub의 내 저장소, repository로 보내기 

git hub에서 본인이 만든 저장소의 주소를 복사 해서 

git remote add orgin url주소 명령어 입력하면 된다. 

GitHub에서 새로 만든 나의 저장소 

 

주의할 점 * 여기서 ERROR 가 많이 나옴 

git remote add origin [url주소] 를 정상적으로 입력해도 나의 github저장소에는 코드가 잘 도착하지 않았다. 

-> 다시 위의 명령어를 입력하니

ERROR: remote origin already exists.

라고 나온다.  이 때 해결 방법은 기존의 했던 것을 삭제하고

 

1. git remote rm origin 

2. git remote add origin [url주소]

3. git remote -v                : 연결상태확인

4. git push origin master    :github로 push *push: 코드를 gihub에 넣는다. 

 

 

-> 다시 나의 저장소로 가보면 해당 폴더가 들어와 있다! 

 

 

 

 

 

5. git push origin master github 저장소로 PUSH ! 넣기

Push 할 때 많이 뜨는 ERROR 403

remote: Permission to ohse-emily/JavaScript.git denied to LSH7875.
fatal: unable to access 'https://github.com/ohse-emily/JavaScript.git/'
: The requested URL returned error: 403

주의할 점 * 여기서 ERROR 403이 뜬다면 이는 github에 코드를 PUSH할 때 해당 주소에 대한 권한이 없기 때문에 거절당한다. 

 

해결 방법 (1) 

1. git remote set-url origin https://github-username@github.com/github-username/github-repository-name.git

 

github-username : github에서 사용하는 username 

github-repository-name : github 코드 넣을 저장소 name

 

=> 위의 명령어를 실행하면 깃허브 repository에 대한 접근 권한 / 인증을 받으면 된다. 

 

2. git push -u origin master 

나의 repository 로 set되어서 push 만 해주면 된다. 

 

 

 

이 경우에도 안되면 

 

해결 방법 (2) 

제어판 - 사용자 계정 - 자격 증명 관리 - windows 자격 증명- 일반 자격 증명에 있는 github.com 을 삭제해주기 

 

여기까지 했는데 

ERROR: remote origin already exists. 에러가 난다면 

위의 4번에 있는 오류 해결처럼 해보기 

 

 

해결 방법 (3) 

 

1. git remote rm origin 

2. git remote add origin [url주소]

3. git remote -v                : 연결상태확인

4. git push origin master    :github로 push *push: 코드를 gihub에 넣는다. 

 

 

-> 다시 나의 저장소로 가보면 해당 폴더가 들어와 있다! 

 

 

 


 

 

 

 최상위 폴더 한개로 upload 하고 싶다면 

(처음에는 하나의 저장소 안에 여러개의 폴더를 넣고 정리하려고 했으나 그 땐 github에 대해 잘 몰랐을 때 그게 가능한 줄 알앗다. github 하나의 저장소에는 하나의 프로젝트를 넣는게 일반적이고 그게 맞는거였다!  ---> 즉, 최상위 폴더 한개로 github 저장은 비추천 ! )

 

 

방법

last 라는 폴더 안에 여러개의 폴더들과 파일들이 있다. cd . . 명령어를 써서 한 번 경로를 나간 뒤 올리면 last 폴더 1개로 git에 올려져서 편하다. 

 

위의 명령어 실행 전 현재 경로 위치 체크 ! 

문서로 나가서 last라는 폴더를 github에 올리고 싶다면  

 

 

 

1. 현재 경로 확인 : 문서로 나가고 싶으면 cd.. 입력 

2. 문서 위치에서 init 시작 

git init 
git add [폴더명/]   (대괄호 불포함, / 슬래쉬는 습관적(?)) 
git commit -m "update" 
git remote add origin [my-repository-url] 
git push origin master 

 

 

 

 

 

 

 

제외하고 싶은 폴더 (데이터양이 엄청 많은) 가 있다면  ? 

   .gitignore 사용하기   

1. 현재 위치 (문서로 나온 위치) 에서 해당 폴더 안에  .gitignore 이름의 메모장 생성 

** .gitignore.txt 가 아닌 .gitignore 이라는 이름! 

 

2. 제외하고싶은 폴더 명 **/ 뒤에 입력만 하면  끝 @  

(**/ 가 없어도 된다! ) 

그 다음의 명령어들은 위와 같다. 

 

 

 

* .gitignore에 파일을 넣고 git push를 한 상태. 그리고 또 다른 파일을 gitignore에 넣게 되면 ? ----> 

gitignore 이 작동하지 않는다 ! 

해결방법 ↓↓↓

https://blckchainetc.tistory.com/273

 

[GitHub] .gitignore 가 안될 때 / git에서 해당 파일의 변화를 감지하고 트래킹할 때 멈추게 하는 방법

.gitignore 안에 넣은 파일이 계속해서 github에 트래킹이되어질 때, 변화가 update 될 때 문제 : github에 해당 폴더를 업데이트 이후에 .gitignore 파일 생성 또는 새로운 파일을 .gitignore 안에 추가 했을 때

blckchainetc.tistory.com

 

 

 

 

 

* 만약 문서로 나오기 전 이미 해당 폴더 안에서 git init을 했다면 ? 

 

문서 - 해당 폴더에 들어가 숨어있는 .git 파일을 찾아 삭제하면 된다. 

 

 

 

 

 

* clone 으로 코드를 가져왔을 때 -> 

npm install 명령어 쓰기 ! 

- packa.json에 있는 packages 다 알아서 다운 해줌 

 

 

 

 

 

*clone으로 코드 가져와서 다시 push 하기 

clone 주소

git add . 

git commit -m "d"

git push origin master 

 

*주의 git add . + git commit 할 때 clone 해온 그 폴더 경로에서 해야한다. 

작은 단위 폴더에 들어가서 git commit안된다고 다시 git init 하면 오류지옥에 빠짐 

 

 

 

 

 


 

 

 

 

 

 ☞ git hub 상대방의 저장소 불러오기, 내용 수정 및 업데이트  (협업 시) 

 

 

* 주의사항 불러올 파일을 git init 을 하지 말아야함. 불러올 상대방의 파일은 이미 git.init이 되어있을 거기 때문에

1. 클론하기 (상대방의 저장 내용을 내 pc로 옮기기 히스토리 등 모두 옮겨와짐. 즉 git init 이 되어 있는 상태 ! )  git clone url(상대방 git hub 주소) 
2. 불러온 상대방의 파일 안으로 들어가기 cd  .\HelloWorld\  (여기서 \ = 역슬래시) 
3. 내용 수정 하기   -
4. add / commit 하기 (상대방의 기트에서 내 컴퓨터에 기트를 복사해온 상태, 클라우드에서 파일을 다운받았은거랑 비슷 - 수정 후 해줘야함.  git add .   /   git commit -m "memo"
5. Push 하기 (깃헙 Github 으로 업데이트 연결되게 올리기) git push origin master 
Push 한 상태에서 내 컴퓨터로 Git hub 상대방의 기트 내용 변경된게보이지만 상대방은 Pull 받아주는걸 해야 상대방한테도 보임.  
6. (상대방 입장) 내용 수정이 있는지 확인하기  git fetch
7. (상대방 입장) 수정이 있다면 변화된 내용을 받기  git pull origin master
내용을 또 수정한다면 위의 3번부터 다시 반복 

나의 settings 가서 상대방 manage contributor 로 추가해주기  

 

 

 

내용을 또 수정하고 

바로 git push origin master 하니깐 내용 안변함

 

내용 수정 후 git add .  / git commi -m "" 를 해야 github에 있는 파일 내용이 바뀜 

 

 

 

 


 

 

 

 ☞ GIT 명령어 정리 

 

git init git init -> .git 숨김파일 생김 / git 사용한다 ~ 선언
git add 파일이름 sub.html 파일을 추가한다.  (근데 바구니(인덱스) 안에 넣기만)
git status 상태 알려줌 
git commit -m "add sub.html" "add sub.html"이라는 메모와 함께 commit (동그라미에 sub.html)를 넣음

commit = 디렉토리에 있는 모든 파일에 대한 스냅샷을 기록 
저장소를 복제(clone)하려면 보든 변경분(delta)를 풀어야하는데 이 때문에 명령행 결과로 resolving deltas 라는 문구가 있음. 
git add .  변경된 모든 내용을 한번에 바구니(인덱스)에 담는 개념 
git commit -m "update index.html" index.html 전체에 업데이트 함 -> 추가안된거 다 한번에 됨 
git.log log 보기 (과거 행적, 특히 commit ) 
git reflog 복구하고 싶은 원하는 위치 찾기 (commit, checkout, reset 등 다 나옴) 
git reset --hard (--hard는 아예 삭제해버리는 위험한 명령) log or reflog에서 구한 값을 써서 원하는 곳으로 이동 
git branch 현재branches 상황, *위치 나옴
* 있는 곳에 내가 있다. 
브랜치 = 특정 commit 에 대한 참조 reference 
git branch sample sample 이라는 branch 만들기
git checkout sample sample 이라는branch 로 * 옮기기 
git checkout master master (main)으로 다시 * 옮기기
(파일들도 다 따라 생기고 없어짐, 포커스 변경) 
git branch -D sample sample branch를 지우기 
git pull 받기 
git fetch 원격 저장소에 누군가가 바뀌면 내가 그대로 소스달라진거 확인
git remote show  
git remote add origin url  현재 git 를 내 저장소로 보내기 (pop up창 열림)
git remote rm origin git remote add origin url 으로 이미 연결된 것을 취소 
git pull origin master pull 받는거 (달라진거petch를 한후 하는거) 
git push push 보내는거 
git push origin master 원격저장소에 보내기 
git cherry pick  
git rebase commit들을 모아서 복사한뒤 다른 곳에 떨궈 놓는 것 
장점 : commit들의 흐름을 보기 좋게 깔끔히 한 줄로 만들 수 있음. 저장소의 commit log & history가 한결 깨끗해짐. 
git merge 합치기 (두 부모가 같도록)
git clone url 클론하기 (상대방의 저장 내용을 내 pc로 옮기기 히스토리 등 모두 옮겨와짐. 즉 git init 이 되어 있는 상태 ! ) 
npm install  git 명령어는 아니지만 git clone 했을 때 터미널에 npm install을 입력하면 package에 있는 모든 설치된 라이브러리들을 자동으로 설치해 준다.
:q!  git commit 누르고 edit 창 열렸을 때 끄는 명령어
   

 

 

 

 

 


 

 

 

 

 

VisualStudio extensions 다운

Git Graph - git 전체 상황을 그래프로 볼 수 있어서 좋음! 

 

 

 

 

 

Git branch 공부 

https://learngitbranching.js.org/?locale=ko

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 

 

 

blckchainetc.tistory.com/45

 

[25일차 zoom 수업] 20210416 github 깃허브 저장소 파일 공유하는 법 수정 후 업데이트 하는 법

git - local - 내 컴퓨터에 설치해야 작동 리눅스 개발할 때 커널 개발할 때 나온거 터미널 명령어 정도는 알아야함 분산 소스 버전 관리 시스템 서버를 분산시켜 구축할 수 있게 하는 소프트웨어

blckchainetc.tistory.com

 

 

반응형