코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데,

 

이렇게 독립적으로 개발하는 것이 브랜치다.

 


 

◼︎ git branch : 브랜치의 목록을 보여준다.

 

◼︎ git branch -v : 브랜치마다 마지막 커밋 메시지도 함께 보여준다.

 

◼︎ git branch <브랜치 이름> : 브랜치 생성하는 법

 

◼︎ git branch -d <브랜치 이름> : 해당 브랜치를 삭제한다.

 

◼︎ git branch -D <브랜치 이름> : 해당 브랜치를 강제로 삭제한다.

 

◼︎ git log --decorate : 이 명령을 사용하면 쉽게 브랜치가 어떤 커밋을 가리키는지도 확인할 수 있다. (HEAD가 현재위치를 나타냄)

 

◼︎ git checkout <브랜치 이름> : 다른 브랜치로 이동할 수 있다.


◼︎ git checkout -b <브랜치 이름> : 브랜치를 생성하고, 생성한 브랜치로 이동한다.

 

위 명령은 아래 명령을 줄여놓은 것이다.

1
2
git branch <브랜치 이름>
git checkout <브랜치 이름>
cs

 


◼︎ git log --oneline --decorate --graph --all : 현재 브랜치가 가리키고 있는 히스토리가 무엇이고 어떻게 갈라져 나왔는지 보여줌

 

◼︎ git merge <브랜치 이름> : 현재 브랜치와 뒤에 쓴 브랜치 이름과 합쳐진다. 

 

 

'IT > Git & Github' 카테고리의 다른 글

[형상 관리] Git (정의, 설치, 초기 설정) - 1  (4) 2024.01.29
[Git 오류] warning: LF will be replaced by CRLF  (0) 2023.06.25
Git 명령어 3  (0) 2023.06.04
Git 명령어 2  (0) 2023.06.01
Git 명령어 1  (0) 2023.06.01

◼︎ git init.git이라는 하위 디렉토리를 만든다

 

◼︎ git add <파일명> : 원하는 파일을 Staging Area에 업로드.

          ↘︎

             [add .] 을 입력하면 해당 디렉토리에 있는 모든 파일이 Tracked tㅏㅇ태이면서 커밋에 추가될 Staged 상태가 됨

 

◼︎ git add . : 해당 디렉토리에 있는 모든 파일을 Staging Atea에 업로드


◼︎ git clone <repository-url> <directory> : 서버에 있는 프로젝트 히스토리를 전부 받아온다. directory 부분에 " . "을 쓰면 해당 디렉토리에 클론함.

클론시 이런 오류가 뜨면 아래 방법으로 해결하면 된다.

 

fatal: destination path 'react-for-beginners' already exists and is not an empty directory. 

 

1. 해당 폴더를 연다.

 

2. git init

 

3. git remote add origin <reposittory-url>

 

4. git pull origin master --allow-unrelated-histories

 

이렇게 하면 로컬 저장소와 원격 저장소가 연결되어 사용할 수 있음.


◼︎ git status : 파일의 상태를 확인 할 수 있음. -s & --short 를 'status' 뒤에 사용하면 간결하게 상태를 보여줌

 

◼︎ git diff : 수정은 했지만 아직 staged 상태가 아닌 파일을 비교해 볼 수 있다.

 

◼︎ git diff --staged/--cached(둘다 같은옵션) : 만약 커밋하려고 Staging Area에 넣은 파일의 변경 부분을 보고싶으면 이 명령어를 사용.


◼︎ .gitignore : 시스템에서 자동으로 생성되는 로그 파일같은것들을 무시할 수 있음. (.gitignore)

 

https://www.toptal.com/developers/gitignore 

<- 운영체제에 맞게 생성해줌

 

(내용을 복사 후 메모장 같은곳에 붙여넣고 확장자 .gitignore로 설정)


◼︎ git commit : Staging Area에 내용을 커밋한다.

 

◼︎ git commit -m "커밋내용 입력" : 커밋시에 메시지를 인라인으로 첨부함.

 

◼︎ git commit -a : -a 옵션을 추가하면 Git은 Tracked 상태의 파일을 자동으로 Staging Area에 넣는다. git add를 생략하는 것.

 

◼︎ git commit -am "메시지" : Staging Area에 add 하고 메시지 라인까지 한번에 생성 후 커밋.

 

◼︎  git commit --amend : 너무 일찍 커밋했거나 어떤 파일을 빼먹었을 때 그리고 커밋 메시지를 잘못적었을 때 한다.

 

◼︎ git reset HEAD <file> : git add로 Staging Area에 들어간 파일을 Unstaged 상태로 변경하는 명령어.


◼︎ git rm <파일명> : Git에서 파일을 제거할때 사용. Tracked 상태의 파일을 삭제한 후에(정확하게는 Staging Area에서 삭제하는 것) 커     밋해야 한다. 

 

◼︎ git mv file_from file_to : 파일 이름 변경하기


◼︎ git log : git의 히스토리를 조회하는 명령어

 

◼︎ git log -p/ --patch : 각 커밋의 diff 결과를 보여준다. ('-2' 를 쓰면 최근 두개의 결과만 보여줌)

 

◼︎ git log --stat : 히스토리의 통계를 보여주는 옵션.(어떤 파일이 수정? 얼마나 많은 파일이 변경?...등등)

 

◼︎ git log --oneline : 히스토리를 한줄로 보여줌

 

◼︎ git log --graph : 히스토리를 아스키 그래프로 출력한다.

 


 

◼︎ git remote add <단축이름>  <url> : 리모트 저장소의 단축이름과 URL을 볼 수 있다.(보통 단축이름을 origin으로 하나, 다른 이름도 가능함)

 

 

 

◼︎ git remote -v : 리모트 저장소의 단축이름과 URL을 볼 수 있다.  


리모트 저장소를 pull 하거나 Fetch 하기

 

◼︎ git fetch <단축이름> :  이 명령어를 사용해서 단축이름으로 등록된 원격 저장소에 있는 것을 가져올 수 있다.

 

 

◼︎ git pull <단축이름> : Clone 한 서버에서 데이터를 가져오고 그 데이터를 자동으로 현재 작업하는 고드와 Merge시킨다.

 

 

◼︎ git clone <단축이름> : 자동으로 로컬의 master(main) 브랜치가 리모트 저장소의 master(main) 브랜치를 추적하도록 한다.

 


리모트 저장소에 Push 하기

 

◼︎ git push <리모트 저장소 이름> <브랜치 이름>  : 프로젝트를 공유하고 싶을 때 Upstream 저장소에 Push 할 수 있다.

 

master(main) 브랜치를 'origin' 서버에 Push 하려면(다시 말하지만 Clone 하면 보통 자동으로 origin 이름이 생성된다.) 아래와 같이 서버에 push한다.

 

git push origin master(main)

 

◼︎ git remote show <리모트 저장소 이름>  : 이 명령으로 리모트 저장소의 구체적인 정보를 확인할 수 있다.

 

◼︎ git remote rename <이전이름> <변경할 이름>  : 이 명령으로 리모트 저장소의 이름을 변경할 수 있다.

 

◼︎ git remote remove/ rm <리모트 저장소 이름>  : 이 명령으로 리모트 저장소를 삭제할 수 있다.

 

 

 

 

'IT > Git & Github' 카테고리의 다른 글

[형상 관리] Git (정의, 설치, 초기 설정) - 1  (4) 2024.01.29
[Git 오류] warning: LF will be replaced by CRLF  (0) 2023.06.25
Git 브랜치  (0) 2023.06.04
Git 명령어 2  (0) 2023.06.01
Git 명령어 1  (0) 2023.06.01

git add

  • 파일의 변경 내용을 staging/indexing 영역에 추가

 

# 모든 변경 추가

git add --all / git add -A / git add *

 

# 현재 경로의 모든 변경 추가

git add .

 

# 해당 파일의 변경만 추가

git add [파일명]


git rm

 

# 파일 삭제

git rm [파일명]

 

# 파일을 추적되지 않은 상태(untracked) 로

git rm --cached [파일명]


git restore(2.23)

  • Working Tree 의 변경된 파일을 복원

 

# unstaged / untracked 상태의 변경 파일을 복구

git restore [파일명]

 

# staging/indexing 된 파일을 unstaged/untracked 상태로 복구

git restore --staged [파일명]

 

# 특정 버전의 변경시점 상태로 복구

git restore --source [해시값] [파일명]


git commit

  • 변경 내용을 버전으로 저장

 

# message와 함께 commit

git commit -m “[커밋 메세지]”

 

# modified 된 파일을 staging 후 commit

git commit -a

 

# -a 옵션과 -m 동시에

git commit -am “[커밋 메세지]” / git commit -a -m “[커밋 메세지]”

 

# 이전 commit message 변경

git commit --amend


git log

  • 버전(커밋) 목록 확인

 

# branch 그래프를 추가해서 보기

git log --graph

 

# 모든 버전 보기

git log --all

 

# 버전 한 줄로 보기

git log --oneline


git show

  • 버전의 상세 정보를 확인한다

 

# 현재 branch의 가장 최근 commit 정보 확인

git show

 

# 특정 branch의 가장 최근 commit 정보 확인

git show [브랜치명]

 

# 특정 commit 정보 확인

git show [해시값]


git diff

  • 현재 코드와 비교한다.

 

# 마지막으로 commit된 코드와 현재 working tree의 unstaged 상태의 변경점과 비교

git diff

 

# 마지막으로 commit된 코드와 현재 working tree의 staging 상태의 변경점과 비교

git diff –staged

 

# commit 된 버전과 비교

git diff –staged [해시값]

 

# commit 끼리 비교

git diff [커밋 해시값]..[커밋 해시값 2]

 

# branch를 비교

git diff [브랜치명] [브랜치명 2]


git reset

  • commit 을 취소하고 해당 버전 이후였던 commit을 삭제한다.

 

# commit을 취소하고 해당 파일들 staging

git reset --soft HEAD~1 / HEAD^ / [해시값]

 

# commit을 취소하고 해당 파일들 unstaging

git reset --mixed

 

# commit을 취소하고 해당 파일들의 변경점 삭제, push를 취소할 수 있다.

git reset --hard


git revert

  • 되돌린 이력을 남기고 commit을 취소하고 해당 버전으로 되돌려 commit

 

# 해당 버전으로 코드를 되돌리고 commit

git revert [해시값]

 

# 해당 버전으로 코드를 되돌리고 staging(커밋하지 않음) -> conflict(충돌) 로 인해 merge 필요

git revert [해시값] -n

 

# 해당 태그로 되돌리고 commit

git revert [태그명]

 


git merge

  • 현재 branch를 해당 branch와 병합

 

# 해당 브랜치와 merge

git merge [브랜치]

# conflict(충돌) 발생 시 취소 -> git merge [브랜치] 후 충돌이 났을 때 취소하는 명령어어

git merge --abort


git branch

  • branch(가지)를 만들어 버전을 관리

 

# 로컬 브랜치 목록 보기

git branch

 

'IT > Git & Github' 카테고리의 다른 글

[형상 관리] Git (정의, 설치, 초기 설정) - 1  (4) 2024.01.29
[Git 오류] warning: LF will be replaced by CRLF  (0) 2023.06.25
Git 브랜치  (0) 2023.06.04
Git 명령어 3  (0) 2023.06.04
Git 명령어 1  (0) 2023.06.01

Git비 연결형 버전 관리 도구, 필요 시에 그때그때 연결해서 관리
  

     2005년에 Linus Torvalds가 만듬 (리눅스 개발자) 

 

1. 단계:
Work Tree -> Index(stage) -> commit(사진찍기와 같은 것)



2. Git에 올리기:
work Tree에만 올린다고 되는게 아니고
index(stage)에 올리고
최종적으로 commit을 해야지만 올라가는 것임
(stage에 올라가야만 commit할 수 있음)

git 설치한 뒤
> git init 를 터미널에 쳐서 .git이라는 폴더 만든다.

3. git 명령어:
- git status // 상태 파악
 - git status --short // 혹은 -s하면 짧게 볼 수 있음 (-- 를 앞에 붙이면 전체 단어를 씀)
Í


- git add 파일명 // (ex. basic.html)을 하면 index에 올라온 상태
   git add . // (.은 해당폴더)(*은 전체폴더) 현재 폴더에 있는 모든 것을 업로드한다는 뜻


** git commit 하기 전에 이메일 주소랑 이름 적어줘야 함
- git config --global user.email "abc@def.ghi" // 이메일을 ~~@.com으로 설정
- git config --global user.name "abc" //  이름을 abc로 설정
- git config --list // config한 정보가 list로 쭉 나옴 ( 맨 밑에 : 나오면 그냥 q 누르면 됨)


- git commit // 터미널에서 commit하기 (commit창 뜨고 간단한 메모 쓰고 끄면 저장됨)
  git commit -m "n 번째 커밋입니다." // 커맨드 창에서 바로 메모 쓰고 commit할 수 있는 기능, 창 안뜸
   git commit -am "n 번째 커밋입니다." // add하면서 바로 commit까지 하기
  (※ 만약, git commit시 터미널에서 하라고 나오면 내용 간단하게 쓰고, 맨 밑에 :q하면 그냥 꺼짐, :wq누르면 저장하고 꺼짐)


- git log // 커밋 기록 확인할 수 있음
  git log --oneline // 로그 간단하게 보여줌 한 줄씩
   git log --graph // 간단하게 디렉토리를 표시해줌
   (근데 Extensions에서 git graph 찾아서 설치하고 Source control에서 누르면 더 가시적으로 볼 수 있음)


- git --help // 간단한 명령어들 알려줌




**저장된 기록을 되돌릴 수 있는 방법(stage->work tree)

1. add // 스테이지로 올린다
- git add . // 


2. restore // 스테이지에 올라와 있는 것을 취소한 방법
- git restore --staged 파일명 // stage에 올라간 파일 다시 내릴 수 있음


3. - git diff --staged // 뭐가 변경되었는지 확인할 수 있다.




** 저장한 기록을 되돌릴 수 있는 방법(commit -> stage) // 반드시, commit이 된 상태로 움직여야 함, 무조건 commit 먼저 하기)
// 마스터(혹은 메인이라고도 함)가 항상 기본이라고 생각해야 함

1. reset // 버전기록을 삭제하는 방법, 파일은 남아있음
- git reset 예전버전의 해시값 // 7글자 적어준 코드의 위부터 저장하고 commit된 버전이 없어짐(7글자 코드까지만 저장됨)


2. revert // reset과는 다르게 이전 기록들이 남으면서 새로운 버전이 됨 (버전을 rollback) 
- git revert  


3. branch // resvrt와는 달리 되돌아가지만 새로운 브랜치가 생성됨, 이전 기록들 남음

- git checkout 해시값 // git log --oneline에서 나오는 7글자(=해시값) 원하는 버전에 왔다갔다 할 수 있음
   git checkout - // 다시 원래의 마지막 상태로 돌아감
  git checkout HEAD // ????

- git swith -c 새로운브랜치이름 // checkout의 역할이 너무 많아지면서 새로 생긴 기능, 브랜치를 만들면서 바로 이동 가능(c의 뜻은 creat)


- git branch 이름설정 // 브랜치 만들기
- git branch // 현재 생성되어 있는 브랜치들 확인, 여기서 checkout해서 원하는 브랜치로 이동할 수 있음
   git branch 원래이름 바꾸고싶은이름 // 기 설정된 브랜치 이름 바꿀 수 있음


- git show 7글자 // 바꾼 내용 보여줌


* HEAD // 꼬리표 개념, 현재 내가 있는 위치를 가리킨다.

'IT > Git & Github' 카테고리의 다른 글

[형상 관리] Git (정의, 설치, 초기 설정) - 1  (4) 2024.01.29
[Git 오류] warning: LF will be replaced by CRLF  (0) 2023.06.25
Git 브랜치  (0) 2023.06.04
Git 명령어 3  (0) 2023.06.04
Git 명령어 2  (0) 2023.06.01

1.변수란?

 

변수란, 단 하나의 값을 저장할 수 있는 메모리 공간

 


1.2 변수의 명명규칙

 

  • 대소문자가 구분되고, 길이에 제한이 없다. ( car와 Car는 다른것으로 간주)

 

  • 예약어를 사용하면 안 된다. (true, if, int, double…등등)

 

  • 숫자로 시작하면 안 된다. ( 4apple(불가), apple4(가능))

 

  • 특수문자는 ‘$’‘_’만 허용

 


[자바 프로그래머들에게 권장하는 규칙]

 

  • 클래스 이름의 첫 글자는 항상 대문자로 한다. (변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.)

 

  • 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.(maxNumber, minNumber…)

 

  • 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 ‘_’로 구분한다.(PI, MAX_NUMBER)

 

 

 

2. 변수의 타입

 

변수에는 ‘문자’와 ‘숫자’로 구분되며, 숫자는 다시 ‘정수’와 ‘실수’로 구분된다.

 

아래 보기쉽게 그림으로 나타내보았다.

 
 

위 내용을 자세히 정리해서 표로 만들어봤다.

 

 

각 타입마다 저장할 수 있는 값의 범위가 다르다. 변수 타입별로 저장 가능한 값의 범위를 알아보자.


정수 타입

실수 타입

문자 타입

 

논리 타입

'IT > JAVA' 카테고리의 다른 글

[Java] 변수(Variable)  (0) 2023.06.08
[Java] 자바의 기본형(Primitive Type) 8가지  (0) 2023.06.08
[Java] JDK와 JRE의 구성요소  (0) 2023.06.08
[Java] 상수와 리터럴 (Constant & literal)  (0) 2023.06.01
[Java] 자바란?  (0) 2023.06.01

상수(constant)는 변수와 마찬가지로 '값을 저장하는 공간'이다. 하지만 변수와 다르게 한번 값을 저장하면

 

다른 값으로 변경할 수 없다. 상수(Constant)를 선언하는 방법은 변수와 동일하고, 변수 앞에 'final'만 붙여주면 

 

된다.


 

언제 사용할까? 

 

우리가 원의 둘레를 구하는 프로그램을 만든다고 가정해보자. 반지름은 계속 바뀌는 숫자이고, 원주율(3.14)는 고정되어 있

 

는 값이다. 원주율(3.14)가 실수로 변하는 상황이 발생하면 원의 둘레를 정확하게 구하지 못하게 된다. 

 

1
final int CirclePI = 3.14;
cs

 

상수는 선언과 동시에 초기화를 해야한다.

 

1
2
3
final int Circle_PI; //에러. 상수는 선언과 동시에 초기화해야함
final int R = 5; // 성공! 선언과 동시에 초기화함
Circle_PI = 200; //에러. 상수의 값은 변경될 수 없음.
cs

 

(상수의 이름은 모두 대문자로 하는것이 암묵적인 룰이라고 하네요! 여러단어로 이루어지면'_'로 구분함.)


리터럴(literal)

 

 

 

'IT > JAVA' 카테고리의 다른 글

[Java] 변수(Variable)  (0) 2023.06.08
[Java] 자바의 기본형(Primitive Type) 8가지  (0) 2023.06.08
[Java] JDK와 JRE의 구성요소  (0) 2023.06.08
[Java] 변수란? (Variable)  (0) 2023.06.01
[Java] 자바란?  (0) 2023.06.01

+ Recent posts