Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- dp
- state
- python
- vscode
- props
- component
- JSX
- 백준
- COPY
- 다이나믹프로그래밍
- Prettier
- eslint
- react자동완성
- 메모이제이션
- ReactError
- 동적계획법
- jQuery
- Snippet
- javascript
- 평범한배낭
- 분할정복
- react태그
- React
Archives
- Today
- Total
개발새발개발
GIT 원격저장소 gitignore Git revert reset 본문
원격 저장소
- 원격 저장소 : 코드와 버전 관리 이력을 온라인 상의 특정 위치에 저장하여 여러 개발자가 협업하고 코드를 공유할 수 있는 저장 공간
- 서비스 : gitlab, github, bitbucket
- 협업 : 쌓인 커밋을 일치시키는 작업 A(수정) -push-> github -pull->B
- 로컬에서 원격으로 보내는 것을 PUSH, 원격 저장소에서 로컬로 가져오는 것을 PULL
- 로컬 없이 원격에서 바로 복제해오는 것 : CLONE
- git remote add : 로컬 저장소에 원격 저장소 추가
- git remote add origin remote_repo_url : origin 추가하는 저장소 이름, 그 뒤는 추가하는 원격 저장소 주소
- git remote -v : 패치 푸시 링크 확인
- 푸시하는 법
git init → git add . → git commit -m"name" → git push origin master
※ 처음 원격에 푸시할 때, 로컬과 같은 상태이거나 비어있는 상태여야 오류가 없음
※ 원격에서 직접 수정하면 협업 시 동기화가 어려워질 수 있으므로 원격에서 수정하면 안됨!
(로컬에 없는게 원격에 있으면 아주 힘들어짐...펑!)
실수로 했다면 git pull 하고 git push 해서 합치면 됨
평소 로컬에서 작업하기 전 git pull을 통해 원격 저장소와 동기화 한 뒤 작업하는게 좋음 - git push -u origin master 를 한번 쓴 뒤에는 git push 만 입력해도 됨(pull도 마찬가지)
- Window - [자격 증명 관리자] - [Windows 자격 증명] - [일반 자격 증명] - 인증 확인 및 편집, 제거 가능
- git clone remote_repo_url : 원격 저장소 전체를 복제하는 것(다운로드)
- 클론으로 받은 프로젝트는 이미 git init이 되어있음 - 원격 저장소 등록
git init - mkdir name - touch README.md - git add . - git commit - git remote add origin URL* - git remote -v(fetch와 push가 잘 됐는지 확인) - git push -u origin master
*git hub에서 우측 상단 [+] - new repository 만들면 중간에 링크 뜸
삭제할 때 : git remote rm 원격_저장소_이름 - 클론 만드는 법
가장 상위폴더로 나와서 - git clone URL2**
repository 새로고침 후 초록색 CODE 부분에서 HTML 코드 복사해서 넣으면 됨
※ git pull 할 때는 폴더로 이동해서 링크 끝에 master가 떠야함 - 클론 받는 법
git init - git remote add origin URL* - git clone URL**
- 충돌나면 파일명 우측에 ! 표시가 뜨고, 직접 조정할 수 있도록 편집창이 열림
수동으로 해도 되고, 위에 있는 Accept~ 중에 선택해도 됨 - git 초대하는법
repository 만든 곳에서 setting - accesss - colaborate - 이메일 등록 - 초대장 이메일 발송 - code . : 현재 위치에서 VS code 실행
- rm -rf .git : git 파일 모두 삭제
gitignore
- git에 특정 파일이나 디렉토리를 추적하지 않도록 설정하는 데 사용되는 텍스트 파일(공유할 필요가 없는 파일)
- .gitignore 파일을 만들고 거기에 파일명을 추가하면 됨
폴더 안에 있는거면 folder/file.txt , 폴더를 통째로 지우려면 folder/ - 이미 git의 관리(add, commit)를 받았던 파일이나 디렉토리는적용이 안됨
git rm --cached a.txt(파일명) 명령어를 통해 캐시 삭제 필요함 - https://www.toptal.com/developers/gitignore
개발에 필요한 환경(운영체제, 프레임워크, 프로그래밍 언어 등)에 따라 gitignore 목록을 만들어주는 사이트
공통적으로 제거해야할 것들의 목록을 자동 생성해 줌
README.md
- TIL : Today I Learned
- 프로젝트에 대한 설명, 사용 방법, 문서화된 정보 등을 포함하는 역할
- Markdown 형식으로 작성되며 프로젝트의 사용자, 개발자, 혹은 기여자들에게 프로젝트에 대한 전반적인 이해와 활용 방법을 제공하는데 사용
- 주로 프로젝트의 소개, 설치 및 설정 방법, 사용 예시, 라이선스 정보, 기여 방법 등을 포함
- 반드시 저장소 최상단에 위치해야 원격 저장소에서 올바르게 출력됨
Git revert
- 특정 commit을 없었던 것으로 바꾸는 것
- 변경 사항을 안전하게 실행 취소 할 수 있도록 도와주는 순방향 실행 취소 작업
- 명령어 : git revert commit _id
공백 또는 `..`를 통해 여러 commit을 한번에 실행취소 가능
git revert --no-edit commit_id : 편집창(VIM) 안여는 것
git revert --no-commit commit_id : 자동으로 커밋하지 않고 staging area에만 올리는 것 - 프로젝트 기록에서 commit을 삭제한 뒤, 그 결과를 담은 commit을 추가하는 재설정 과정
- untracked 파일은 커밋된 적이 없기 때문에 revert의 영향을 받지 않음
- 되돌리는 것이지 완전히 삭제되는 것은 아님
- second(기존 것) commit을 삭제한 뒤 Revert "second" commit 이 새로 생김
- 터미널 창에서 복사 : 드래그 후 우클릭, 붙여넣을 땐 shift+insert
Git Reset
- 특정 commit으로 되돌아가는 작업
되돌아간 commit 이후의 commit은 모두 삭제됨 - git reset --옵션 commit_id
- 옵션은 삭제되는 commit들의 기록을 어떤 영역에 남겨둘 것인지 조정하는 것
*옵션 : hard, mixed, soft 3가지
*영역 : 완전 삭제 , Working directory(add 이전 상태.기본값), Stagingarea(커밋 이전 상태) - 첫번째 커밋은 삭제가 안됨
- 되살리는 법
1) git reflog 이전 commit 을 모두 보여줌
2) git reset --hard commit_ID
Git undoing
Git restore
- git restore
- add하지 않은 상태(Commit이 된 적이 있으며 WD에 현재 있는 상태) - 파일 내용을 수정 전으로 되돌리기(최신 commit에 저장된 상태로 되돌리기)
- 글 작성 -add - commit - 글 수정 - git restore filename
- 원래 파일로 덮어쓰는 원리이기 때문에 수정한 내용 전부 사라짐
- 수정 취소 후에는 해당 내용을 복원할 수 없으니 필요시 미리 백업해두기
- staging area에 올라간 파일을 Unstage 하는 법(add 하기 전 상태 즉 WD로 보내는 법)
1. git rm --cached a.txt : git 저장소에 한번도 commit 하지 않은 파일에 적용 (저장소에 commit이 없음)
2. git restore --staged a.txt : git 저장소에 commit이 존재하는 경우 사용 - 외울 필요 없음! git status 쳐서 나오는 것 확인해보면 됨!
'개발새발개발' 카테고리의 다른 글
모듈, 제어문(반복문, 조건문), List comprehension, enumerate (6) | 2024.07.24 |
---|---|
float 소수점 설정, 문자열 슬라이싱, 깊은 복사와 얕은 복사 (5) | 2024.07.23 |
파이썬 기초(연산자, 진수, 변수, 데이터 타입, 시퀀스 타입, 스타일 가이드) (0) | 2024.07.18 |
리스트, 튜플, Range, dict, set, bool, None, 연산자, 형변환, 단축평가 (1) | 2024.07.18 |
Markdown CLI GIT (0) | 2024.07.12 |