본문 바로가기

개발 회고

[솔데스크] 풀스택 과정 15주-5 총67회차 ‘회고’ | GIT(0315)

[서론]

○● 0315 새로웠던 것

1. git rule. git remote add 원격지이름할꺼 url(https/ssh)중 하나. ssh 권장.

2. github key ssh -> .ssh폴더에 있는 키 복사해서 쓸 수 있음

3. git stash는 퀵 세이브 같은 기능. stash를 하면 변경사항을 잠깐 저장할 수 있음. 작업하다가 다른 브랜치로 들어가야 할 때 commit 기록을 남기기 부담스럽다면 쓰면 좋음

 

 

[본론]

○● 0315 내용 정리

 

   GIT

 

● git 몰랐던 명령어

 

. 로컬 리파짓에서 원격 리파짓과 연결하기               

깃 배시에서 아래 명령 입력하면 됨. ( SSH 주소는 본인껄로 바꿔서 )                  
   ex.   git remote add ori git@github.com:peisia/git_lecture_1.git                           
   ex.자기꺼      git remote add 원격지이름(저는그냥 ori라고했음) 자기꺼 리파짓토리의 SSH주소                        
                                 
. 로컬 리파짓과 원격 리파짓 연결 확인하기               깃 배시에서 아래 명령 입력하면 됨.                  
ex.   $   git remote show         ori 라고 표시되면 된거   
                                 
. 현재 로컬 폴더에서 깃 설정 날리기                        
   $   ls -al      하면 숨겨진 폴더 확인 가능함. ( .git 폴더는 숨겨진 상태임 )            
   $   rm -rf .git      하면 깃설정 파일 다 지워지고 일반 폴더 상태로 바뀜            
   $   ls -al      해서 지워진거 확인하기            
         . 파일들도 다 지우기            지우되 현재 폴더 위치는 이곳으로 두고 작업 시작   
   $   rm *.*   하면 현 폴더에 있는 모든 파일이 지워짐                     

 

git remote 이해


Git은 분산 버전 관리 시스템으로, 여러 개발자가 함께 작업하고 변경사항을 관리할 수 있도록 돕는 도구입니다. 

Git에서 원격 저장소(Remote Repository)는 개발자들이 공유하는 중앙 저장소입니다.

Git에서 Remote 명령어는 원격 저장소를 관리하는 데 사용됩니다. 

Git remote 명령어 리스트
로컬 저장소와 원격 저장소를 연결하기
rule. $ git remote add 원격지이름할꺼 url(https/ssh)중 하나. ssh 권장.
ex. $ git remote add ori  (ssh방식url을여기에붙여넣기)

원격 저장소를 제거하기
rule. $ git remote remove (원격지 별명)
ex. $ git remote remove origin

원격 저장소의 이름을 변경하기
rule. $ git remote rename (기존 원격지 별명) (새 원격지 별명)
$ git remote rename ori oriya

원격 저장소의 URL을 변경하기
rule. $ git remote set-url origin <새로운 URL>

git remote show: 원격 저장소에 대한 정보를 출력합니다. ex. $ git remote show
ori
원격이름 및 연결된 url 까지 확인 git remote -v
ex. origin  https://github.com/kittycaravan/tt.git (fetch)
origin  https://github.com/kittycaravan/tt.git (push)
git remote update: 원격 저장소에서 가져온 변경 사항을 로컬 저장소에 업데이트합니다.

git remote prune: 로컬 저장소에서 더 이상 존재하지 않는 원격 브랜치를 제거합니다.

위의 명령어를 사용하여 원격 저장소를 관리하면 다른 개발자와 함께 작업하는 Git 프로젝트를 보다 효율적으로 관리할 수 있습니다.

참고: 리모트 리스트 중 하나 삭제하는 법
rule. git remote rm (원격지 별명)

 

  github 키 설정

 

깃허브에서 리파짓을 만들면 이 리파짓을 연결 할 수 있는 정보를 url 형태로 제공함.


방식이 3가지 있음 https ssh github cli
이 중 ssh 방식으로 알려드리겠음 개인 깃 계정 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC//ewE8yxlE0pmwPm/MmLZ7gfifm/xjs55d5Zm0FMZkNAH0Lig+KpgaiPAWfDfdoAFXFCV0x2QuDwBOMXqQgCYMUx3M4kXWu2cIVOA7uEsKEU82MryjRHmozmrP8g1lg32GDn/cLOmiegDd4hCMdTLgbyJSrwMLg10OPGz+A3xKi/6z3O2HL0j/XflozHXEbh0WGsDleIapwJ409LHb27SRB6VKFIGFdZgqxc+zlHk4PkNMhdsw/0EMHpuiQV5kSp+IdVB3+yzsHjdfgnJv/kw5I6bSDTiOFQLqH8ZcPoGF3vX7pnNJamZvrUkpN0jBvOVidfrOSOSgfVaivzxD9b5zoFBCUmH1a+29eFttc02kLxD3BqUPH89R8GCsZtJO95hwbwQww6Qem6TTlB9ZPg1o1gp93qERYA1JpUIvi5ugIni7mZWHc5whwEyEV57Rve/SRWueBtdS9TsPjP4LJ2irCAgo2nAQsRf+aGUXmbMLROQdBnPQlIKkLkCzzgtdvE= sdedu@DESKTOP-TFEFV8C
"


먼저 ssh 개인키와 공개키를 만들어야함 새 팀pj용 깃 계정


개인키와 공개키를 만드는 법
[작업법] . git-bash 든 git-cmd 든 들어가서 ssh-keygen 라고 치면 생성됨 todo.. 문제가 키가 좀 민감해서.. 공개하기가.. 다른 방식 찾자 https 식
* 참고 * 윈도우 cmd 랑 깃배쉬랑 ssh-keygen 했을 때 생성되는 파일명이 다름.
설명은 윈도우 cmd 기준으로 하겠음
* 주의 * 키 생성 후 다시 키를 만드려면 해당 폴더 ( .ssh 폴더 ) 삭제하면됨. ( 혹시 모르니 백업은 잘 해두기 )
* 주의 * 다시 키를 재생성시 다른 값의 키가 만들어짐.
그래서 로컬에서 재생성한 경우 깃허브의 계정 ssh 키 등록하는곳에 재등록해야함.

ssh-keygen 을 깃 배쉬에서 치면 이렇게 나옴(그냥 엔터 엔터 하면됨) 한 3~4번?

 

 

. 생성된 폴더로 이동
C:\Users\hoyangi\.ssh\ 가보면 id_rsa.pub id_rsa
두 파일이 생성되어 있고 위에 id_rsa.pub 가 공개키이며 이 파일을 메모장에서 
열어서 내용을 복사하고 이걸 깃헙에 가서 복붙 해줘야 됨.
(자기 윈도우 계정 아이디. 사용자 폴더)

 


. 깃헙 이동
로그인 상태에서 우상단 자기 프로필 아이콘 클릭-setting-왼쪽ssh and gpg key
-우상단 new ssh키 클릭-타이틀 아무거나쓰고,키 란에 아까 복사한 키 텍스트 붙이고 생성하기
이걸 하고 나면 이제 이 pc에서 해당 깃허브계정에 접근이 됨
(주의. 리파짓 1개가 아니라 해당 계정의 모든 리파짓에 접근이 가능하다. 해서 학원 팀 작업 시 팀 대표 전용 계정을 팀장이 하나 만들고 여기에 각 팀원들의 키를 등록 할 것)

(강사메모): 만든키들
testcat 만듬 이걸 하고 나면 이제 이 pc에서 해당 깃허브계정에 접근이 됨

 git remote set-url ori git@github.com:kittycaravan/testcat.git 해서 원격지 리파짓 바꿈

대상 계정은 peisia
솔데스크_3강의실_강사pc 최근에 만든키 2023-09-07 << 기존꺼 삭제함

참고. .ssh 폴더를 a pc에서 b pc 로 복사하면 b에서도 푸시됨. /lol.com/a?xkey=x 챔프 정보보기

 

git stash


스태시가 뭐냐면 퀵 세이브임. 단, 단 한개가 아니고 여러개 됨. 당연히 퀵 로드도 됨. 골라서. 지우기도 되고.

Git Stash 명령어는 작업 중인 변경 사항을 임시로 저장하고, 나중에 다시 복원할 수 있는 기능입니다. 
이를 통해 작업 중인 코드를 저장하고, 다른 브랜치로 전환하거나, 
변경 사항을 폐기하고 이전 상태로 복원하는 등의 작업을 수행할 수 있습니다.

.스태시 하기 git stash 작업 중인 변경 사항을 Stash에 저장합니다.

.스태시 리스트 보기 git stash list Stash에 저장된 변경 사항은 git stash list 명령어를 사용하여 확인할 수 있으며, 
git stash apply 명령어를 사용하여 Stash에서 변경 사항을 복원할 수 있습니다.
이 때, 가장 최근에 저장된 변경 사항이 복원됩니다. 
git stash apply 대신 git stash pop 명령어를 사용하면 변경 사항을 복원하면서
Stash에서 삭제할 수 있습니다.

.스태시 한거 복원하기 ex. $ git stash list 이 상태에서
stash@{0}: WIP on master: 5376a7b catcat 얘를 복원 하려면

rull. $ git stash apply <스테시 아이디>
ex. $ git stash apply stash@{0} 라고 하면 복원 됨

.스태시 할 때 이름 주기
ex. $ git stash -m cat $ git stash list
stash@{0}: On master: cat
stash@{1}: WIP on master: 5376a7b catcat
.특정 스태시 삭제 git stash drop stash@{이름 또는 인덱스}

.전체 스태시 삭제 git stash clear

.참고 - 파일을 새로 추가한경우는 git add . 해 줘야 스태시가 됨
주의. 커밋 후 파일을 추가하고 편집한 상태에선 git stash 하려고 하면 에러나고 실패함.
해당 파일을 스테이징에 add 하고 나면 git stash 됨. 
No local changes to save
라고 뜸.
- 파일을 지운 경우는 바로 스태시가 됨

.기타 또한, git stash branch 명령어를 사용하여 Stash에서 변경 사항을 복원하면서 새로운 브랜치를 생성할 수도 있습니다. 이를 통해 작업 중인 변경 사항을 새로운 브랜치에서 계속할 수 있습니다.

Git Stash 명령어를 사용하면 작업 중인 변경 사항을 임시로 저장하여 작업을 계속할 수 있습니다. 이를 통해 다른 브랜치로 전환하거나, 변경 사항을 폐기하고 이전 상태로 복원하는 등의 작업을 수행할 수 있습니다.

 

Git tag 명령어 이해

Git Tag 명령어는 코드의 특정 시점 (커밋) 에 버전 등을 추가로 메모를 남기는 기능
Git Tag 명령어는 코드의 특정 시점에 버전을 부여하는 기능입니다. 이를 통해 코드의 특정 시점을 쉽게 식별하고, 버전 관리를 용이하게 할 수 있습니다.
.태그 추가 하기 git tag <tag_name>
ex. git tag v1.0 현재 코드 상태를 v1.0이라는 태그로 저장합니다.
ex. git tag xxxxx
태그는 주로 소프트웨어의 버전을 표시하는 데 사용되며, 여러 가지 유형의 태그가 있습니다. 대표적으로는 다음과 같은 태그가 있습니다.
Lightweight Tag: 가장 간단한 태그로, 단순히 코드의 특정 시점에 이름을 부여하는 것입니다.
.태그 추가 시 추가 정보 붙이기 Annotated Tag: 태그에 추가 정보를 포함시킬 수 있는 태그로, 버전 정보, 태그를 생성한 사용자, 생성 일자 등을 포함할 수 있습니다.
git tag -a [태그 이름] -m [태그 메시지]
ex. git tag -a v1.0.0 -m "Release version 1.0.0"

.태그 리스트 확인 태그는 다음과 같은 Git 명령어로 확인할 수 있습니다.
git tag
.태그 삭제
태그는 다음과 같은 Git 명령어로 삭제할 수 있습니다.
git tag -d <tag_name>

Git Tag 명령어를 사용하여 코드의 특정 시점에 버전을 부여하면, 코드의 특정 버전을 쉽게 식별하고, 버전 관리를 용이하게 할 수 있습니다.

 

● source tree

 

실행 후 클론하기 기존 깃헙 리파짓을 클론해서 써보겠음

. 상단 큰 아이콘 메뉴-클론
. 소스경로/url 에 깃헙 리파짓 https 주소 복사한거 복붙 ssh 말고 https
. 목적지 경로란 우측 탐색 버튼 누르면 탐색기 뜸
. 탐색기에서 원하는 관리 폴더 고르거나 만들어서 지정하기
. 이름은 자동으로 폴더명이 뜨는데 그냥 두고
. 클론 버튼 클릭
. 깃허브 인증하라는 팝업이 뜨는데 버튼들 다음다음 눌러서 인증하면 끝남.
. 끝 쓰면 됨. 직관적 ui 라 사용하기 편함. cmd 로 하던걸 gui 로 쉽게 할 수 있게 됨. 특히 브랜치, 커밋 흐름 보기가 좋음. 그림으로 나와서.

 

푸시 안될 때 : *. 소스트리에 개인키 등록하기 ( 이거 안하면 푸시 안됨 ) << 이거 안하고도 되는경우도 있으니 참고...

상단메뉴-도구-옵션-탭_일반-중간_SSH클라이언트설정
-SSH클라이언트 셀렉트-OPEN SSH-
<< 여기 셀렉트가 기본으로 OpenSSH가 아니라
Putty / Plink << 맨 처음에 얘로 잡혀있음. 이거 OpenSSH 로 바꿔줘야함
안바꾸면 입력이 안됨.
고르면 자동으로 위 SSH키가 기본경로꺼 찾아서 .../id_rsa 로 찾아줌
(참고로 이건 개인키임. 개인키를 소스트리에 등록하고 소스트리가 이걸 가지고 처리하게 하는거. 
원격은(깃허브는) 이전에 등록한 공개키를 가지고 처리하게 됨.

테스트 푸시하기 . 상단 푸시 클릭
. 푸시할 브랜치 화면에서 로컬은 master 체크하고 리모트는 그대로 master로 하고 푸시

 

 

[결론]

 

* GIT 기초 강의 수강

 

*작업파일

 

 0315

1)   GIT 기초