헤르메스 LIFE

[Git] Git 명령어 / 사용법 본문

형상관리

[Git] Git 명령어 / 사용법

헤르메스의날개 2024. 2. 6. 09:16
728x90

게임을 하면서, Git 명령 배우기

 

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

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org

 


 

사용하는 Git 명령어를 정리해봤습니다.

계속 수정 변경해서 추가할 예정입니다.

# 전역 사용자 등록
$ git config --global user.name 'hermeswing'

# 전역 사용자 이메일 등록
$ git config --global user.email 'hermeswing@naver.com'

# 기본 설정. 시스템에서 line ending 을 처리하는 방법에 따른다. 
# windows에서는 CRLF 를 사용하고 Linux, OS X 는 LF 만 사용한다.
$  git config --global core.eol native

# 경고 메시지를 off 시키고 작업
$ git config --global core.safecrlf false

# 윈도에서는 CRLF 를 사용하므로 저장소에서 가져올 때 LF 를 CRLF 로 변경하고 
# 저장소로 보낼 때는 CRLF 를 LF 로 변경하도록 true 로 설정한다.
$ git config --global core.autocrlf true

# 전역 설정 확인
$ git config --global --list

# git pull 명령어는 기본적으로 병합을 시도합니다. 
# 즉, 로컬 브랜치와 원격 브랜치가 나뉘어졌다면 새로운 커밋을 생성하여 이 둘을 병합(Merge)합니다.
# 병합(Merge) 방식으로 pull을 처리합니다. 이는 기본 동작이며, 병합 커밋이 생성될 수 있습니다.
$ git config pull.rebase false  # merge

# git pull --rebase는 원격 브랜치의 변경 사항을 로컬 브랜치에 적용할 때, 
# 먼저 로컬 브랜치의 커밋들을 원격 브랜치의 최신 커밋 위로 재배열(Rebase)합니다. 
# 이렇게 하면 병합 커밋 없이 더 깔끔한 히스토리를 유지할 수 있습니다.
# 리베이스를 사용하여 pull을 처리합니다. 충돌이 발생하면 수동으로 해결한 후 계속 진행해야 합니다.
$ git config pull.rebase true   # rebase

# git pull --ff-only는 원격 브랜치가 로컬 브랜치의 연속적인 업데이트인 경우에만 병합을 허용합니다. 
# 즉, 리베이스나 병합 커밋을 생성하지 않고, 빠르게 브랜치를 앞으로만 이동시키는 방식입니다.
# Fast-forward만 허용하여 pull을 처리합니다. 
# 만약 Fast-forward가 불가능한 상황이라면, Git은 에러를 반환하고 pull을 중단합니다.
$ git config pull.ff only       # fast-forward only


# remote 목록 확인
$ git remote -v

# git 상태 확인
$ git status

# branch 목록 확인
$ git branch

# branch 목록 확인(remote 까지)
$ git branch -a
* add_message
  main
  remotes/origin/add_message
  remotes/origin/main

# 원격의 브랜치 목록
$ git branch -r
  origin/add_message
  origin/main
  
# branch 추가
$ git branch add_message

# branch 변경
$ git checkout add_message
Switched to branch 'add_message'

# branch 삭제
$ git branch -D origin/add_message
Deleted branch origin/add_message (was 47ec36f).

# 원격의 브랜치에 접근하기 위해 git remote를 갱신
$ git remote update

# 원격 브랜치 데이터 가져오기
$ git checkout -t origin/add_message
Switched to a new branch 'add_message'
branch 'add_message' set up to track 'origin/add_message'.

# 로컬 브랜치에 파일 추가
$ git add .

# 로컬 브랜치에 파일 Commit
$ git commit -m "Commit 내용"

# 원격 브랜치 데이터 Push
$ git push

이 경고는 주로 Windows 환경에서 발생하는데, 이는 Windows에서는 줄 바꿈을 나타내는 문자로 CR(Carriage Return)와 LF(Line Feed) 두 개를 사용하는 반면, Unix 및 Unix 계열 시스템(Linux, macOS 등)에서는 LF 문자만 사용하기 때문입니다.

# warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it

# 항상 LF로 변환하도록 설정
$ git config --global core.autocrlf input

# 기본 설정. 시스템에서 line ending 을 처리하는 방법에 따른다. 
# windows에서는 CRLF 를 사용하고 Linux, OS X 는 LF 만 사용한다.
$ git config --global core.eol native

# 경고 메시지를 off 시키고 작업
$ git config --global core.safecrlf false

# 윈도에서는 CRLF 를 사용하므로 저장소에서 가져올 때 LF 를 CRLF 로 변경하고 
# 저장소로 보낼 때는 CRLF 를 LF 로 변경하도록 true 로 설정한다.
$ git config --global core.autocrlf true

Git 에 add 한 내용 Unstage하기

# Unstage하기 ( HEAD 초기화 )
# 모두 Unstage하기
$ git reset HEAD .

# 파일 한 개 Unstage하기
git reset HEAD <file>

브랜치 생성

# Branch 생성
# git branch 브랜치명
$ git branch EurekaGateway_202403301000

# Branch 전환
# git checkout 브랜치명
$ git checkout EurekaGateway_202403301000
'EurekaGateway_202403301000' 브랜치로 전환합니다

브랜치 생성 후 push

# 브랜치를 생성합니다.
# git branch 브랜치명
$ git branch addCodeManage

# 해당 브랜치로 이동합니다.
$ git checkout 브랜치명
$ git checkout addCodeManage

# 위에 명령어를 한 번에 치고 싶으면 :
# git checkout -b 브랜치명 
$ git checkout -b addCodeManage

# 브랜치로 이동했는지 확인
$ git branch

# 변경된 파일을 add
$ git add .

# 커밋 메시지와 함께 커밋
$ git commit -m '커밋메시지'

# 원격저장소의 branch와 로컬저장소의 branch가 같을 경우
$ git push
fatal: The current branch addCodeManage has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin addCodeManage

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.

# 원격저장소에 branch가 없고, 로컬저장소에 branch를 올릴 경우
# git push --set-upstream A B 를 하게 되면 로컬 A 저장소의 원격저장소를 B 로 지정하여 B 에 push 하라는 의미에용
$ git push --set-upstream origin addCodeManage
Enumerating objects: 172, done.
Counting objects: 100% (172/172), done.
Delta compression using up to 4 threads
Compressing objects: 100% (145/145), done.
Writing objects: 100% (161/161), 86.76 KiB | 2.55 MiB/s, done.
Total 161 (delta 52), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (52/52), completed with 4 local objects.
remote: 
remote: Create a pull request for 'addCodeManage' on GitHub by visiting:
remote:      https://github.com/hermeswing/octopus_backend/pull/new/addCodeManage
remote:
To https://github.com/hermeswing/octopus_backend.git
 * [new branch]      addCodeManage -> addCodeManage
branch 'addCodeManage' set up to track 'origin/addCodeManage'.

 

브랜치의 파일을 내려 받을 경우

# 원격저장소 목록을 update 시킵니다.
$ git remote update
remote: Enumerating objects: 47, done.
remote: Counting objects: 100% (47/47), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 31 (delta 9), reused 23 (delta 4), pack-reused 0
  origin/add_message
  origin/main

# 원격저장소의 branch 목록 조회
$ git branch -r
  origin/addCodeManage
  origin/add_message
  origin/main
  
# 원격저장소의 branch를 내려받는습니다.
$ git checkout -t origin/addCodeManage
Switched to a new branch 'addCodeManage'
branch 'addCodeManage' set up to track 'origin/addCodeManage'.

 

변경된 내용 적용

# Source의 변경이 발생하면

# 변경된 내용을 Staging 영역에 추가
$ git add .

# Git 상태
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   src/main/java/octopus/backend/basic/HelloWorldController.java
        
# 변경된 내용을 Commit
$ git commit -m "HelloWorld Controller commit"
[main e66ec7b] HelloWorld Controller commit
 1 file changed, 18 insertions(+)
 create mode 100644 src/main/java/octopus/backend/basic/HelloWorldController.java
 
# Git Repository로 변경된 소스 Push
$ git push -u origin main
Enumerating objects: 14, done.
Counting objects: 100% (14/14), done.
Delta compression using up to 4 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (9/9), 897 bytes | 448.00 KiB/s, done.
Total 9 (delta 1), reused 0 (delta 0), pack-reused 0        
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/hermeswing/octopus_backend.git
   3c0587f..e66ec7b  main -> main
branch 'main' set up to track 'origin/main'.

 

변경된 내용 확인 / 한개만 commit/한개만 push는 모르겠음.

# git 상태확인
$ git status
On branch addCodeD
Your branch is behind 'origin/addCodeD' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   src/main/resources/application-datasource.yml.h2

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/main/java/octopus/backend/v1/controller/CodeDController.java
        modified:   src/main/resources/application-local.yml


# 새로운 파일만 commit
# git commit -m "커밋 메시지" 'commit할 파일명'
$ git commit -m '한개만 commit' src/main/resources/application-datasource.yml.h2t
[addCodeD d0c34c4] 한개만 commisrc/main/resources/application-datasource.yml.h2t
 1 file changed, 34 insertions(+)
 create mode 100644 src/main/resources/application-datasource.yml.h2

 

변경된 내용 비교 / 확인

# 추가된 파일이 존재함 ( 초록색 글씨 )
# new file:   src/main/resources/application-datasource.yml.h2
# 충돌나는 파일이 존재함 ( 붉은색 글씨 )
# modified:   src/main/java/octopus/backend/v1/controller/CodeDController.java
# modified:   src/main/resources/application-local.yml
/octopus_backend (addCodeD)
$ git status
On branch addCodeD
Your branch is behind 'origin/addCodeD' by 1 commit, and can be fast-forwarded.
  (use "git pull" to update your local branch)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   src/main/resources/application-datasource.yml.h2

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/main/java/octopus/backend/v1/controller/CodeDController.java
        modified:   src/main/resources/application-local.yml

# 충돌나는 파일의 내용 확인
# - : 삭제된 내용
# -       private final MessageSourceAccessor messageSourceAccessor;
# + : 추가된 내용
# +    private final MessageSourceAccessor messageSourceAccessor;
/octopus_backend (addCodeD)
$ git diff
diff --git a/src/main/java/octopus/backend/v1/controller/CodeDController.java b/src/main/java/octopus/backend/v1/controller/CodeDController.java
index dfcc995..327d268 100644
--- a/src/main/java/octopus/backend/v1/controller/CodeDController.java
+++ b/src/main/java/octopus/backend/v1/controller/CodeDController.java
@@ -29,97 +29,104 @@ import octopus.model.SingleResult;
 @RestController
 @RequestMapping("/v1/detail")
 public class CodeDController {
-
-       private final MessageSourceAccessor messageSourceAccessor;
-       private final CodeDService codeDService;
-       private final ResponseService responseService;
+    
+    private final MessageSourceAccessor messageSourceAccessor;
+    private final CodeDService          codeDService;
+    private final ResponseService       responseService;
+    
+    @ApiOperation(value = "공통코드 단건 검색", notes = "공통코드를 조회합니다.")

 

비교 확인 후 결정사항

# 충돌(conflict) 발생 시
# 1. Local의 내용을 버리고, Git에 있는 내용으로 덮어쓰기
# Local의 commit 내용을 완전 삭제한다. git reset --hard
$ git reset --hard
HEAD is now at d0c34c4 한개만 commisrc/main/resources/application-datasource.yml.h2t
# 깨끗하게 이력이 삭제된것을 확인 할 수 있습니다.
$ git status
On branch addCodeD
Your branch and 'origin/addCodeD' have diverged,
and have 1 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

nothing to commit, working tree clean
# git서버의 내용을 pull 합니다.
$ git pull
Merge made by the 'ort' strategy.
 app_log.2023-03-18.0.gz                            | Bin 0 -> 49809 bytes

 

프로젝트 Clone

# 폴더 이동
$ cd /c/Octopus/workspace ( workspace 까지만 이동해야 합니다. )

# Github Repository Clone
# octopus_backend 디렉토리에 clone 됩니다.
$ git clone https://github.com/hermeswing/octopus_backend.git

# Github Repository Clone
# git clone "복사할 Git URL" "복사할 디렉토리명"
$ git clone https://github.com/hermeswing/octopus_backend.git octopus_backend

# Clone 받은 폴더로 이동
$ cd octopus_backend

Remote의 Branch 를 Checkout 받는 방법

# 다운받을 상위 폴더로 이동
cd workspace

# main branch clone
$ git clone https://github.com/hermeswing/SimpleRestAPI2.git
'SimpleRestAPI2'에 복제합니다...
remote: Enumerating objects: 80, done.
remote: Counting objects: 100% (80/80), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 80 (delta 19), reused 73 (delta 12), pack-reused 0
오브젝트를 받는 중: 100% (80/80), 73.30 KiB | 1.20 MiB/s, 완료.
델타를 알아내는 중: 100% (19/19), 완료.

# branch 폴더로 이동
$ cd SimpleRestAPI2 

# main branch clone
# git checkout -b 로컬_브랜치_이름 origin/원격_브랜치_이름
$ git checkout -b SimpleRestAPI/202402031300 origin/SimpleRestAPI/202402031300
'SimpleRestAPI/202402031300' 브랜치가 리모트의 'SimpleRestAPI/202402031300' 브랜치를 ('origin'에서) 따라가도록 설정되었습니다.
새로 만든 'SimpleRestAPI/202402031300' 브랜치로 전환합니다

Branch 연결 끊기

$ git remote -v                                                         
origin	https://github.com/hermeswing/octopus_backend.git (fetch)
origin	https://github.com/hermeswing/octopus_backend.git (push)

# Branch 끊기
$ git remote remove origin

# 끊긴 Branch 다시 연결
$ git remote add origin https://github.com/hermeswing/octopus_backend.git

 

프로젝트 생성

1. Gitbub 에 접속 >> Repository

2. Repository > New

3. Repository Name > Create repository

4.  Console 명령어

# Git 프로젝트 초기화
$ git init

# 변경된 파일을 Staging 영역에 등록
$ git add .

# 변경된 파일을 Staging 영역에 Commit
$ git commit -m "first commit"

# Branch명을 master 에서 main으로 변경
$ git branch -M main

# Git 프로젝트 폴더를 Github Repository 와 연결
$ git remote add origin https://github.com/hermeswing/sample-spring-webapp.git

# Git 프로젝트 폴더의 Source를 Github Repository
# Push >> 
$ git push -u origin main

 

참고.

push 시 권한 오류가 발생한다면 아래를 확인해 봐야 합니다.

Windows 의 경우 자격증명을 추가합니다.

Linux의 경우 ( Ubuntu 경우 )

$ sudo apt-get install libsecret-1-0 libsecret-1-dev
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료        
패키지 libsecret-1-0는 이미 최신 버전입니다 (0.20.5-2).
libsecret-1-0 패키지는 수동설치로 지정합니다.
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  java-common zulu-repo
'sudo apt autoremove'를 이용하여 제거하십시오.
다음의 추가 패키지가 설치될 것입니다 :
  libblkid-dev libffi-dev libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin
  libgpg-error-dev libmount-dev libpcre16-3 libpcre2-16-0 libpcre2-dev
  libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libselinux1-dev
  libsepol-dev python3-distutils uuid-dev zlib1g-dev
제안하는 패키지:
  libgcrypt20-doc libgirepository1.0-dev libglib2.0-doc libxml2-utils
다음 새 패키지를 설치할 것입니다:
  libblkid-dev libffi-dev libgcrypt20-dev libglib2.0-dev libglib2.0-dev-bin
  libgpg-error-dev libmount-dev libpcre16-3 libpcre2-16-0 libpcre2-dev
  libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libsecret-1-dev
  libselinux1-dev libsepol-dev python3-distutils uuid-dev zlib1g-dev
0개 업그레이드, 20개 새로 설치, 0개 제거 및 3개 업그레이드 안 함.
5,681 k바이트 아카이브를 받아야 합니다.
이 작업 후 29.9 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y

$ cd /usr/share/doc/git/contrib/credential/libsecret

$ sudo make

$ git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret

# 다시 push 를 하면 계정정보를 물어봅니다.
# password 등록 시 주의점은 진짜 로그인 password가 아니라 발급받은 Access Token 을 등록해야 한다는 것입니다.
$ git push
Username for 'https://github.com': hermeswing@naver.com
Password for 'https://hermeswing@naver.com@github.com': 
오브젝트 나열하는 중: 25, 완료.
오브젝트 개수 세는 중: 100% (25/25), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (12/12), 완료.
오브젝트 쓰는 중: 100% (17/17), 4.25 KiB | 869.00 KiB/s, 완료.
Total 17 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/hermeswing/SimpleRestAPI2.git
   e9e22fd..0d5425d  SimpleRestAPI/202402031300 -> SimpleRestAPI/202402031300

# 또 다시 push 를 하면 이번에는 물어보지 않습니다.
$ git push
오브젝트 나열하는 중: 37, 완료.
오브젝트 개수 세는 중: 100% (37/37), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (16/16), 완료.
오브젝트 쓰는 중: 100% (20/20), 2.44 KiB | 1.22 MiB/s, 완료.
Total 20 (delta 10), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (10/10), completed with 10 local objects.
To https://github.com/hermeswing/SimpleRestAPI2.git
   0d5425d..5091ea0  SimpleRestAPI/202402031300 -> SimpleRestAPI/202402031300

"sudo: make: 명령이 없습니다" 오류 발생 시 아래 처리

"make: gcc: 그런 파일이나 디렉터리가 없습니다" 오류 발생 시 처리

# gcc 설치
$ sudo apt-get install gcc
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료        
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libgl1-amber-dri
'sudo apt autoremove'를 이용하여 제거하십시오.
다음의 추가 패키지가 설치될 것입니다 :
  gcc-11 libasan6 libcc1-0 libgcc-11-dev libitm1 liblsan0 libquadmath0 libtsan0 libubsan1
제안하는 패키지:
  gcc-multilib autoconf automake libtool flex bison gcc-doc gcc-11-multilib gcc-11-doc
  gcc-11-locales
다음 새 패키지를 설치할 것입니다:
  gcc gcc-11 libasan6 libcc1-0 libgcc-11-dev libitm1 liblsan0 libquadmath0 libtsan0
  libubsan1
0개 업그레이드, 10개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
29.5 M바이트 아카이브를 받아야 합니다.
이 작업 후 89.8 M바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y

# make 컴파일러 설치
$ sudo apt-get install make
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료        
다음 패키지가 자동으로 설치되었지만 더 이상 필요하지 않습니다:
  libgl1-amber-dri
'sudo apt autoremove'를 이용하여 제거하십시오.
제안하는 패키지:
  make-doc
다음 새 패키지를 설치할 것입니다:
  make
0개 업그레이드, 1개 새로 설치, 0개 제거 및 0개 업그레이드 안 함.
180 k바이트 아카이브를 받아야 합니다.
이 작업 후 426 k바이트의 디스크 공간을 더 사용하게 됩니다.
받기:1 http://mirror.kakao.com/ubuntu jammy/main amd64 make amd64 4.3-4.1build1 [180 kB]
내려받기 180 k바이트, 소요시간 0초 (2,045 k바이트/초)
Selecting previously unselected package make.
(데이터베이스 읽는중 ...현재 206046개의 파일과 디렉터리가 설치되어 있습니다.)
Preparing to unpack .../make_4.3-4.1build1_amd64.deb ...
Unpacking make (4.3-4.1build1) ...
make (4.3-4.1build1) 설정하는 중입니다 ...
Processing triggers for man-db (2.10.2-1) ...

Git Bash

Shell Script명령어

~ 현재 홈 디렉터리 안에 있다는 뜻
예) cd ~                :: 홈 폴더로 이동
pwd 현재 디렉터리 경로 확인 (Print Working Directory)
ls 현재 디렉터리 위치 확인
ls(공백)옵션

옵션종류
1. -a 숨김파일 디렉터리 표시
2. -l 파일 디렉터리 상세 정보 표시
3. -r 정렬 순서 거꾸로 표시
4. -t 파일 작성 시간 순 내림차순 표시

cd  터미널->디렉터리 사이 이동
cd .. 상위 디렉터리 이동
cd 하위경로명 하위 디렉터리 이동
cd documents
cd downloads
cd c
cd Users
mkdir 디렉터리 생성
rm -r 디렉터리명 디렉터리 삭제
삭제할 디렉터리의 상위에서 작성해야 합니다.
vim 파일명 파일 생성 및 실행
i 또는 a - 끼워넣기 모드 변경
Esc -> :w 저장
Esc -> :q 종료
Esc -> :wq 저장 후 종료
Esc -> :q! 문서 저장하지 않고 편집기 종료(확장자 .swp 임시파일 생성)
clear 터미널 창 내용 지우기
exit 터미널 종료
cat 파일명 문서 내용 확인
cat 파일1, 파일2, > 새파일 - 파일 n개를 차례로 연결해 새 파일 만들기
cat 파일1 >> 파일2 - 파일1내용을 파일2 끝에 연결하기
git config 깃 설정 관리
git config --list  깃 설정 값 보기
git config --global --unset-all  깃 설정 값 리셋하기
git config --global --unset-all 제거속성
ex) git config --global --unset-all user.name
ex) git config --unset-all user.name (로컬 저장소 네임 삭제)
git config --global user.name "name"
git config --global user.email "email address"

깃 설정 값 전역 적용
git config --local user.name "name"
git config --local user.email "email address"
깃 설정 값 로컬 저장소 적용(현재 저장소 기준)

.bashrc

홈 디렉토리에 위치하는 config 파일

compile 방법
cd ~
. .bashrc   <= . (쩜) 에 주의할 것.
# git add + commit + push 까지
function _commitAll() {
    if test -z "$1" 
    then
        echo '주석 좀 달아라!!!';
        return
    else
        git add .;
        git commit -m "$1";
        git push
    fi
};

# git commit 만..
function _commit() {
    echo 첫번째 파라메터 :: ["$0"] 두번째 파라메터 :: ["$1"]
    if [ -z "$1" ]  # $0 : /usr/bin/bash
    then
        echo '주석 좀 달아라!!!';
        return
    else
        git commit -m "$1"
    fi
};

# Shell Script Compile
function _compile() {
    cd ~;
    . .bashrc;
    goL;
}

alias goL='cd /c/Octopus/workspace/OctopusLogin'

alias cc=_compile

alias gita='git add .'
alias gitc=_commit
alias gitp='git push origin master'

alias commit=_commitAll
alias push='git push'

https://hermeslog.tistory.com/716

 

[Git] Invalid username or password.

Github 에 신규 프로젝트를 등록하면서 아래와 같은 오류가 발생 했습니다. $ git push -u origin main remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/hermeswing/sample-spring-webapp.git/' rem

hermeslog.tistory.com

https://hermeslog.tistory.com/772

 

[Git] Windows 에서 Git bash 설정

0. 목적- Linux 를 사용했다가 다시 Windows 로 회귀했습니다.- Linux 의 편한 점이 있었고, 그 편한 점을 잊을 수가 없는거죠.이전에 사용했던. Bash CLI의 장점을....- 일단 뭐가 어딧는지 알면 나중에 수

hermeslog.tistory.com

 


https://hermeslog.tistory.com/675

 

[STS] Terminal을 이용한 Git 설정

STS 에서 Git을 연동하는 내용을 테스트 했습니다. https://hermeslog.tistory.com/674 [STS] STS에서 Github 연동 / 프로젝트 업로드 개발환경 STS 4.17.2.RELEASE Github https://hermeslog.tistory.com/464 [Git] Windows 10 Git 설치 G

hermeslog.tistory.com

https://hermeslog.tistory.com/677

 

[STS] Terminal을 이용한 Git Clone

STS Terminal 을 이용해서 Github와의 연동을 완료했습니다. 이제는 Github에 있는 Repository 내용을 Clone 받아 보겠습니다. 그러기 위해서는 로컬에 있는 octopus_backend 폴더를 삭제해야 합니다. https://hermesl

hermeslog.tistory.com

https://hermeslog.tistory.com/674

 

[STS] STS에서 Github 연동 / 프로젝트 업로드

개발환경 STS 4.17.2.RELEASE Github https://hermeslog.tistory.com/464 [Git] Windows 10 Git 설치 Git 2.30.0 ( git-scm.com/ ) 갓대희님의 블러그를 보고 따라했습니다. ( goddaehee.tistory.com/216 ) 설치 시 자세한 설명이 적혀있

hermeslog.tistory.com

https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-VSCode%EC%97%90%EC%84%9C-Git-GUI-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

 

⚡️ VSCode 내장 GIT 사용법 총정리

GIT GUI GIT은 CLI 툴이다. GIT의 모든 기능은 CLI 터미널로 사용이 가능하다. 그래프 같은 시각적인 요소도 텍스트를 이용하여 그래픽 표현이 가능하다. 하지만 텍스트로 이루어진 화면은 가독성이

inpa.tistory.com

https://gmlwjd9405.github.io/2018/05/18/git-stash.html

 

[Git] git stash 명령어 사용하기 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

728x90

'형상관리' 카테고리의 다른 글

[Git] remote: Invalid username or password.  (0) 2024.02.08
[Git] Github Fork 방법  (2) 2023.02.24
[STS] Terminal을 이용한 Git Clone  (0) 2023.02.24
[Git] Warning 로그  (0) 2023.02.22
[STS] Terminal을 이용한 Git 설정  (0) 2023.02.22