반응형

실무에서 자주 사용하는 Git 명령어 총정리

Git은 현대 소프트웨어 개발에서 필수적인 버전 관리 시스템입니다. 이 가이드에서는 일상적인 개발 workflow부터 복잡한 상황 해결까지 필요한 모든 Git 명령어를 다룹니다.

기본 작업 흐름 명령어

저장소 초기화 및 설정

git init                          # 새로운 Git 저장소 생성
git clone [url]                   # 원격 저장소 복제
git remote add origin [url]       # 원격 저장소 추가
git remote -v                     # 원격 저장소 목록 확인

변경사항 관리

git status                        # 현재 작업 디렉토리 상태 확인
git add .                        # 모든 변경사항을 스테이징
git add [file]                   # 특정 파일만 스테이징
git commit -m "[message]"        # 변경사항 커밋
git commit --amend               # 마지막 커밋 수정

브랜치 관리

git branch                       # 브랜치 목록 보기
git branch [branch-name]         # 새 브랜치 생성
git checkout [branch-name]       # 브랜치 전환
git checkout -b [branch-name]    # 브랜치 생성 및 전환
git merge [branch-name]          # 현재 브랜치에 다른 브랜치 병합

고급 Git 명령어

이력 관리 및 수정

git rebase <target_branch>       # 브랜치 재배치
git rebase -i <starting_point>   # 대화형 리베이스
git reset --soft HEAD~1          # 마지막 커밋 취소 (변경사항 보존)
git reset --hard HEAD~1          # 마지막 커밋 완전히 제거
git cherry-pick [commit-hash]    # 특정 커밋만 선택적으로 적용

Stash 활용

git stash                        # 작업 내용 임시 저장
git stash list                   # 저장된 stash 목록 확인
git stash pop                    # 가장 최근 stash 적용 및 제거
git stash apply                  # stash 적용 (보존)

고급 설정 및 유틸리티

git config --global rerere.enabled true    # 반복되는 merge 충돌 해결 패턴 기억
git config --global core.editor "code"     # 기본 에디터 설정
git log --graph --oneline                  # 커밋 이력을 그래프로 확인
git bisect start                          # 버그가 발생한 커밋 찾기

협업을 위한 명령어

원격 저장소 동기화

git fetch origin                 # 원격 저장소 정보 가져오기
git pull origin [branch]         # 원격 브랜치 변경사항 가져와 병합
git push origin [branch]         # 로컬 변경사항을 원격으로 푸시
git push --force-with-lease     # 안전한 강제 푸시

태그 관리

git tag -a v1.0 -m "Version 1.0"  # 주석이 있는 태그 생성
git push origin --tags            # 모든 태그 원격 저장소로 푸시

 

 

반응형

'Tools > GIT' 카테고리의 다른 글

GIT 자주쓰는 명령어 정리  (0) 2016.03.30
반응형

Scala IDE  를 받아서 압축을 푸는데 알수 없는 에러로 인해 계속 프로그램이 죽었는데 


구글링을 해보았더니 압축프로그램을 MAC 기본 내장에서 다른 프로그램으로 변경하니 실행이 잘되었다.


압축프로그램은 반디집을 이용하였다.



참고:

http://stackoverflow.com/questions/10876538/the-eclipse-executable-launcher-was-unable-to-locate-its-companion-launcher-jar

반응형

'Tools' 카테고리의 다른 글

Hyper-V 와 VirtualBox 쉽게 변경하기  (0) 2016.10.05
Eclipse Java doc comment 자동생성 단축키  (0) 2016.06.30
반응형

Hyper-V 와 VirtualBox 쉽게 변경하기 


VirtualBox 를 충돌없이 사용하기 위해서는 윈도우에서 내장된 가상 시뮬레이터 기능인 Hyper-V를 꺼야만 하는데


처음부터 윈도우즈 부팅메뉴에서 선택할수 있게 설정이 가능해서 소개한다 (역시 구글신)


간단하게 BCDEDIT 를 변경하여 하는 방법인데 아래 스크립트를 간단하게 복붙만하는 것으로 가능합니다. 


아래 명령어를 차레대로 설정하자



bcdedit /copy {current} /d "No Hyper-V" 

위 명령어를 실행하면 시리얼 넘버 비슷한 것이 나오는데 그걸 아래 명령어에 그대로 적용하도록 하자


bcdedit /set {serial-number} hypervisorlaunchtype off 





참고: 

1. http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx

2. https://derekgusoff.wordpress.com/2012/09/05/run-hyper-v-and-virtualbox-on-the-same-machine/



반응형

'Tools' 카테고리의 다른 글

Scala IDE eclipse 맥에서 실행시 에러 현상  (0) 2016.11.18
Eclipse Java doc comment 자동생성 단축키  (0) 2016.06.30
반응형

Eclipse 내에서 Java doc 코멘트를 자동 생성해주는 방법 단축키


두가지 방법이 있는데 메소드 이름 위에서


1. 단축키

Alt+ Shift J


2. /** + Enter 


아래와 같이 사용할수 있다.

/**
 * @param fooPa
 */
public void foo(String fooPa) { }


반응형

'Tools' 카테고리의 다른 글

Scala IDE eclipse 맥에서 실행시 에러 현상  (0) 2016.11.18
Hyper-V 와 VirtualBox 쉽게 변경하기  (0) 2016.10.05
반응형

작성자: 강은석

GIT 개요:

  1. GIT을 쓰는 이유

  2. 빠른 속도

  3. 단순한 구조

  4. 비선형적인 개발(수천 개의 동시 다발적인 브랜치)

  5. 완벽한 분산

Linux 커널 같은 대형 프로젝트에도 유용할 것(속도나 데이터 크기 면에서)

Git은 미친 듯이 빨라서 대형 프로젝트에 사용하기도 좋다.


1. GIT 설치 (WINDOWS 기준)

GIT HOMEPAGE 에서 원클릭 설치! ( https://git-scm.com/download/win )


2. GIT 설정

$ git config --global user.name "John Doe"

$ git config --global user.email johndoe@example.com


3. 가장 기본적인 개념

You can think of a commit as a snapshot of your project at a moment in time


세개의 스테이지가 존재


WORKING FOLDER -



  • SVN VS GIT 차이점

SVN 서버에 History 저장

GIT Local 에 History 저장



4. 가장 자주 사용하는 명령어들

git help <명령어> ex. git help config

git add -A 번체

git add <추적하고자 하는 하고자 하는 파일 path> ex. git add tt.txt

git status 현재 추적된 파일 상태

git push (push하고자 하는 remote branch ) (push하고자 branch )

git pull (pull 하고자하는 branch ) (pull 반영하고자 하는 local branch )

git remote add  이름 주소

git remote set-url <리모트 브랜치이름> <바꾸려는 url>




git diff —cached: 현재 working folder 에서 올라간 파일들과 차이 보기


git checkout -b 브랜치이름 : 브랜치 생성하면서 변경

git checkout 브랜치이름: 브랜치로 현재 git 설정 바꿈

git branch new : 새로운 branch 를 만든다. 

git checkout new : new branch 를 새로만들고 new branch 로 이동한다.

git checkout -b copy master : master를 복제하여 브랜치를 만들고 copy로 checkout 이동한다 

git branch -m copy modified: copy branch의 명칭을 modified로 변경한다 (-M 기존 같은 명칭 브랜치 있어도 덮어쓴다)

git branch -d copy : copy 브랜치를 삭제한다 (-D 옵션은 강제 삭제)



자부 발생하는 예외상황 처리

이미 서버에 올라간 파일에 추적을 중지하면서 local 파일을 남겨두고 싶은 경우

( ex. 컴퓨터로 별로 다른 로컬 개발 설정 파일 django my.cnf 설정 파일 or 다른 개발 환경 Database 설정 파일)

git rm 파일 —cached 해당파일 path


git mergetool (mergetool 도 여러가지 .. 이고

복잡하게 꼬인 경우 GUI 툴을 사용합니다 ( Source Tree )


ssh vs https

HTTPS로 주소를 지정할 경우 저장소 권한을 가진 아이디의 로그인 및 비밀번호 입력을 매번 해주어야함. 


ssh 생성법 ( windows 는 git을 먼저 설치한다 ) - github 주소 첨부

windows 는 gitbash 를 접속한후 ssh를 통해 리눅스는 터미널에서 ssh 로 바로 생성 가능


GIT 사용 전략

git flow 이용



좋은 참고 자료:

https://backlogtool.com/git-guide/kr/

https://git-scm.com/book/ko/v2

http://www.slideshare.net/kexplo/ndc2016-effective-git

http://danielkummer.github.io/git-flow-cheatsheet/

https://github.com/nvie/gitflow

http://mobicon.tistory.com/106




반응형

'Tools > GIT' 카테고리의 다른 글

실무에서 자주 사용하는 Git 명령어 총정리  (0) 2021.10.11

+ Recent posts