Git 원격 저장소

현재 git에 등록된 원격 저장소 리스트 확인

git remote -v

변경할 원격 저장소를 입력해주기

git remote set-url <name><변경할 url>

원격 저장소 해제

git remote remove <name>

원격 저장소 등록

git remote add <name><url>

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Github fork  (0) 2022.04.04
Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01

2022.04.01

Fork

fork란 github repository 를 통째로 복사해서 나의 repo 로 만드는 행위
fork를 한 저장소는 원본과 연결되어 있다
변경 사항을 원본 레포지토리에 적용하고 싶으면 원본 저장소에 pull request를 보내야 한다
pull request 하기 전까지는 내 github에 있는 forkgks repo에만 변경사항이 적용된다

Fork 하는방법

1. 원본 repo를 내 저장소로 fork 하기
2. fork를 해서 복제된 <url> 복사
3. git clone <url>
4. cd <newfile>
5. git branch
6. git flow init 
    ls로 확인해 보면 파일 확인 가능
7. git flow feature start <branch>
8. git flow feature finish <branch>
9. git push -u origin develop

fetch 하는방법

# 원본 repo인 경우에는 git pull origin develop
1. git remote -v
2. git remote add upstream <원본 url>
3. git remote -v
    # upstream 이 생긴걸 볼 수 있다
4. git fetch upstream develop
    # fectch를 해서 반영하는게 아니라 FETCH_HEAD 라는 임시 branch에 담아놓게 된다
5. git merge FETCH_HEAD

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git remote  (0) 2022.07.11
Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01

2022.04.01

Git 명령어

  • commit 내역 확인
    $ git log
    $ git log --pretty=oneline
    $ git lg
    사용방법: git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
  • git mv
    $ #파일 이동 명령어인 mv을사용하면 rename과 동일한 효과를 얻을 수 있다
    $ git mv <oldName> <newName>
    $ git status (이름 변경됐는지 확인 후) git commit
  • git restore
    $ vi <fileName> 문서내용을 수정한다
    $ git status 
    $ # use "git restore <file>..." to discard changes in working directory
    $ git restore <fileName> or 전체 변경사항을 다 취소하고 싶을때는 git restore .
  • git restore --staged
    $ vi <fileName> 문서내용을 수정한다
    $ git add <fileName>
    $ git status
    $ # use "git restore --staged <file>..." to unstage
    $ git restore --staged <fileName>
    $ git status 를 해보면 스테이지에서 내려간걸 볼 수 있을 것이다
  • git commit -am
    $ # 스테이징과 커밋을 한번에 처리하는 명령어
  • git commit --amend
    $ # 직전의 커밋을 다시 열어서 수정하는 방법
  • git revert --no-commit HEAD~3..
    $ # 여러 커밋을 한꺼번에 돌리고 싶을 때

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git remote  (0) 2022.07.11
Github fork  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01

2022.03.30

.gitignore

git repository에 하나씩 넣는게 귀찮을 때 git add .를 이용해 변경된 파일 전체를 추가하고 커밋한다

  • 프로젝트와 관계없는 파일
  • 용량이 너무 커서 제외해야되는 파일
  • 보안상 위험성이 있는 파일

위와 같은 경우 외에도 git add에 포함시키기 싫은 파일들이 있을 수 있다

이럴때 .gitignore 디렉터리를 만들어 무시할 파일을 넣어 줄 수 있다

.gitignore 생성하기

$ git init을 한 폴더에 touch .gitignore
$ ls -a 해보면 .gitignore 파일생성 완료
특정 파일 file 제외하기
$ file
현재 경로에 있는 file 제외하기
$ /file
특정 폴더 folder 안의 파일 모두 제외하기
$ folder/
특정 경로의 특정 파일 제외하기
$ folder/file
특정 경로 아래의 모든 file 제외하기
$ folder/**/file
특정 확장자 파일 다 제외하기
$ *.txt
예외 만들기
$ !file

쉽고 간단한 방법으로 .gitignore 파일 생성하기

.gitignore 에 들어가서 원하는 ignore 파일을 생성할 수 있다

프로젝트 생성 초반에 간단하게 .gitignore 파일을 생성할때 활용하면 좋을 듯 하다

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Github fork  (0) 2022.04.04
Git 명령어 (추가)  (0) 2022.04.04
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01
Git bash 명령어  (0) 2022.04.01

2022.03.30

Branch

*가지. 분기점 생성 후 독립적으로 코드를 변경할 수 있도록 도와주는 모델*
*메인을 건들지 않고 실험적인 개발을 할 수 있다*
Branch 생성
    1. touch <파일이름> 생성 후 git status
    2. git add . 
    3. git commit
    4. git branch
        * main 확인
    5. git branch <이름> : <이름> 브랜치가 생성됨
    6. git switch <이름> : 현재 있는 branch에서 이동하고 싶은 branch 써주기
    7. git merge <branch> : 병합
    8. branch의 라이프사이클이 다했을때는 git branch -D <branch>
Branch CONFLICT 브랜치 충돌
      conflict(충돌)은 각각의 브랜치에서 변경한 내용이 같은 행에 포함되어 있기 때문이다
      conflict된 파일을 열어서 내용을 변경
      다시 git commit을 해주면 된다(git commit -m은 제목 덮어쓰기때문에 하지말것)

Git-Flow

  *소스코드를 관리하는데 브랜치 기능을 적극적으로 사용할 수 있는게 git의 장점*
  *Vincent Driessen은 효과적으로 git branch 전략을 사용하는 것에 대한 제안을 했다*
  *Git-flow는 브랜치 모델을 쉽게 사용할 수 있도록 몇개의 명령으로 구현해 놓은 git의 확장*
Vincent Driessen의 브랜칭 모델에는 5개의 브랜치가 사용된다
    master
          master 브랜치에는 안정성이 충분히 검증된 코드들만이 병합되어야 한다
    develop
          develop 브랜치에는 개발자들이 feature 브랜치에서 소스코드를 수정한 후 develop 브랜치로 PR를 요청하게 된다
          또 다른 리뷰어가 기능들을 검토한다음 최종적으로 develop 브랜치에 병합(merge)된다
          새로운 기능을 위한 feature 브랜치는 develop 브랜치의 HEAD에서 생성된다
    feature
          새로운 기능 개발이나 버그 수정을 위한 코드 수정이 이뤄지는 브랜치
          feature 브랜치에서 작업된 내용은 최종적으로 PR을 거쳐 develop 브랜치에 병합(merge)된다
    release
          git으로 관리되는 소프트웨어는 정기적으로 성능 개선, 기능추가, 버그 수정을 반영하면서 릴리즈가 된다
          릴리즈 브랜치의 코드가 안정적이라고 판단되면 master 브랜치에 병합되고 릴리즈에 해당하는 태그가 생성된다
          릴리즈 브랜치가 생성된 이후 반영된 수정사항들은 develop 브랜치에도 반영된다
    hotfix
          정기적인 리리즈 이외에 긴급하게 수행되어야 할 버그 수정을 반영하기 위해 생성되는 브랜치
          hotfix 브랜치는 master 브랜치 기반으로 생성되며 이후 hotfix 브랜치는 master 브랜치에 병합되고 태그 생성이 된다
          마찬가지로 수정 사항은 develop 브랜치로도 병합되어 긴급 수정 사항이 이루 릴리즈에도 반영되도록 한다
Git-flow 설치및 사용법
        1. Git-flow cheatsheet <https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html>
    2. 자신의 운영체제에 맞는 설치방법으로 설치하기
    3. git flow init
    4. git flow feature start <branch>
    5. git flow feature finish <branch> 
    6. git flow release start release <base>
    7. git flow release finish release <base>
          총 2번 or 3번의 vim창이 뜨며 나갈때는 tag작성 후 나가기
    8. git push -u origin develop
    9.git switch main
    10. git push origin main
    11. git push --tag

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git clone과 Git init  (0) 2022.04.01
Git bash 명령어  (0) 2022.04.01
Git과 Github 차이점 Git설치  (0) 2022.04.01

2022.03.29

Github에서 token생성

1. GitHub로 들어간다 <https://github.com/>
2. settings 클릭
3. Developer settings
4. Personal access tokens
5. Generate new token(Note적고, Expiration은No Expiration, 나머지 다 허용 누르고 만들기)
6. $ git push 
7. $ username for: 사용자 계정 아이디
8. $ password for: 발급받은 액세스 토큰 붙여넣기

Git clone

1. GitHub로 들어간다 <https://github.com/>
2. New repository 생성한다
3. Code버튼을 클릭 후 HTTPS주소를 복사한다
4. $ git clone {repo address}
5. $ git add
6. $ git commit
7. $ git push

Git init

1. $ mkdir 로 디렉터리를 하나 만든다
2. 해당 디렉터리에 이동해서 git status를 입력해보면 아래와 같은 내용이 뜬다
    fatal: not a git repository (or any of the parent directories): .git
3. git init
4. git remote 경로 설정 해주기
    (github에서 repo주소 가져와서 넣어주자)
5. git remote add <저장소> <주소>
    저장소 이름 변경하고 싶을때: git remote rename <기존이름> <바꾸고싶은이름>
    branch 이름 변경 싶을때: git branch -M <바꾸고싶은이름> or git branch -m <기존이름master> <바꾸고싶은이름main>
6. git push -u <저장소> <브렌치명>

commit

* 누가봐도 읽기 편할 수 있게 쓰기
* 제목 줄은 50자 이내로 최대한 간결하게
* 제목의 시작은 대문자로 작성
    Fix
    - 잘못된 동작을 고칠 때 주로 사용
    Refactor
    - 잘 돌아가고 있는 코드의 기능을 향상시킬때
    Add
    - Fix와 함께 가장 많이 쓰이는 단어. 무언가를 추가할 때 사용
    Remove
    - 삭제가 있을 때 사용
    Feat
    - 기능 구형할때
    Conf
    - 환경설정 관련
    Docs
    - 문서화 작업
    Ci
    - continuous integration 관련

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git bash 명령어  (0) 2022.04.01
Git과 Github 차이점 Git설치  (0) 2022.04.01

2022.03.29

shell 기초 명령어

$ pwd: 현재 경로 확인

$ ls: 현재 위치에 있는 파일 확인

$ rm: 파일 삭제
    ex) rm parctice.md

$ rm -r: 디렉터리 삭제
    ex) rm -r parctice

$ cp: 파일 복사
    ex) cp parctice.md (원하는위치)

$ mv: 파일을 원하는 위치로 이동
    ex) mv parctice.md (이동시킬곳)

$ cd: 원하는 위치로 이동
    ex) cd parctice/ --> parctice라는 폴더로 이동
    ex) cd ../ --> 현재 위치에서 상위 폴더로 이동

$ cat: 확인
    ex) cat parctice.md -->parctice내용 출력

$ clear: 말그대로 클리어 (앞에 내용 지우기)

$ mkdir (name): 현 위치에 (name)디렉터리 새로 만들기

$ touch: 현 위치에 파일 생성 
    ex) touch practice.md --> practice 마크다운 파일이 생성

git 기초 명령어

$ git push <저장소명> <브랜치명>

$ git init: git 생성하기

$ git add: 파일 추가

$ git remote add <원격 저장소> <저장소 url>: 새로운 원격 저장소 추가

$ git commit: (변경)내용 반영

$ git status: 상태 확인

$ git clone <저장소 url>: 저장소 복제하기

$ git log: 모든 이력 보기

$ git reset --hard HEAD^: git commit 취소하기

$ git push -f <저장소명> <브랜치명>: 원격 저장소의 내용이 로컬 저장소의 내용과 일치하도록 변경사항을 강제로 덮어쓰게하기

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01
Git과 Github 차이점 Git설치  (0) 2022.04.01

2022.03.28

Git

로컬에서 버전을 관리하기 위한 도구(VCS: Version Control System)

소스코드를 관리

(리누스 토발즈가 리눅스 서브버전을 만들가 화나서 2주만에 만듦)
Git의 특징
1. 인터넷이 연결되지 않아도 개발할 수 있다

2. 동시작업이 가능하다

3. 수정내용은 commit 단위로 관리

4. 새로운 기능 추가는 branch로 편안하게 실험개발 가능 및 개발이 성공적으로 완료되면 merge하여 반영

Github

Microsoft에 인수된 가장 유명한 웹 서비스

클라우드 방식으로 관리되는 시스템(VCS)

Git 과 Github의 차이

Git은 로컬에서 버전 관리 시스템을 운영, Github는 깃허브에서 제공해주는 클라우드 서버를 이용

Git 설치

macOs

brew를 이용한 Git설치 Homebrew
https://brew.sh/

  1. Homebrew설치
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  2. Git 설치
    # Git 설치
    brew install git
    # 이전에 설치했다면, 최신버전 업데이트
    brew upgrade git
    # 설치 확인
    git -v
  3. Git 환경설정
    # 당신의유저네임
    git config --global user.name
    # 당신의메일주소
    git config --global user.email
    git config --global core.editor "vim"
    git config --global core.pager "cat"

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git Branch와 Git Flow  (0) 2022.04.02
Git clone과 Git init  (0) 2022.04.01
Git bash 명령어  (0) 2022.04.01

+ Recent posts