통합 개발 환경(IDE, Integrated Development Environment)

  • 개발을 하면서 사용되는 도구들의 집합, 환경이다.
  • 효율적으로 소프트웨어를 개발하기 위한 애플리케이션 인터페이스로, 프로그램을 개발하는 과정에서 텍스트 에디터, 컴파일러, 디버거 등 프로그래밍에 필요한 툴을 하나의 인터페이스로 통합하여 사용이 가능하게끔 만든 개발 환경으로 이해할 수 있다.
    (들여쓰기, 컴파일러 등 필요한 기능 기본으로 지원)

 

워크벤치(Workbench)란?

  • 사전적 의미 : 작업대
  • Editors, Project Explorer, Outline… 같은 프로그래밍을 위한 작업환경

워크벤치와 IDE의 차이점

 

1. 워크벤치(WorkBench)

우리가 목수라고 가정하면 ‘Workbench’는 나무를 올려두고 작업할 수 있는 공간을 의미한다.

 

2.통합 개발 환경(IDE)

 

 

 

 

 

 

 

IDE는 ‘Workbench’ +’도구’ 작업하기 더 수월하게 만든 통합환경이라고 생각하면 이해하기 쉽다.

 

 

 

 


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

 

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

 


 

◼︎ 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

● 컴퓨터 프로그램

 

- Program : 컴퓨터에게 처리 방법과 순서를 기술한 명령문의 집합체

- Application : 특정한 업무를 수행하기 위해 만들어진 프로그램. 차이점으로는 사용자의 편의성을 고려하여 사용자가 원하는 기능을 수행하기 위해 제작


● 프로그래머와 개발자

 

- 프로그래머 : 문제 해결과 구현에 집중하며, 기술적인 부분에 집중하여 요구사항을 충족하는 코드를 작성하는 역할을 수행함.

 

- 개발자 : 사용자의 요구 및 수요에 따라 프로그램을 만드는 사람. 개발 기획, 설계, 개발 유지/보수를 모두 수행함.


● 플랫폼 (Platform)이란?

 

- 사전적 정의 : 역에서 기차를 타고 내리는 곳.

-  플랫폼은 많은 사람들이 이용하며, 모이고 움직이면서 다양한 활동들이 일어나는 곳.

 

- 즉, 많은 사람들이 모여서, 각자 여러 가지 활동을 하고, 사람들끼리 네트워크가 형성되고, 확장되는 곳.

 

● CPU (Central Processing Unit)

 

- ALU (Arithmetic Logic Unit, 연산장치) : 산술연산, 논리연산(AND, OR, NOT, XOR 등) 및 시프트를 수행하는 중앙처리장치 내부의 회로장치.

 

- CU (Control Unit, 제어 장치) : 기억 장치에 축적되어 있는 명령을 해독 및 소요 신호를 통해 각 장치의 동작을 지시

 

- Register (기억 장치) : 컴퓨터의 중앙처리장치에 들어 있는 소규모 데이터 기억장치, bit, byte, 기계어와 같은 지정된 기억 용량을 가짐

 

- Memory 

    └ ROM (Read Only Memory) / RAM (Random Access Memory)

   

ROM은 전원이 꺼져도 기록이 소멸되지 않는 비휘발성 메모리, 데이터를 지속해서 저장해 사용할 수 있지만 지울 수 없다는 단점 존재, 기억된 내용만을 읽을 수 있음(read only).  

 

RAM은 전원이 꺼지면 기억된 모든 내용이 사라지는 휘발성 메모리, 읽고 쓰는 것이 자유로워 응용 프로그램 로딩, 데이터 일시 저장 등에 주로 사용.

 

 

- (참고) 프로그램이 실행되는 보편적인 순서:

 

입력CU(컨트롤 유닛)가 메모리에 프로그램 데이터를 호출 → 메모리에서 레지스터로 자료가 이동 → ALU(연산 장치)에서 프로그램을 계산 또는 해독 → 출력

(더 자세하게는 CU가 각 과정에 대해 많이 관여)


● 인터넷이란?

 

- 컴퓨터와 컴퓨터를 연결하여 정보를 주고받을 수 있는 글로벌한 컴퓨터 네트워크입니다.

- TCP/IP (Transmission Control Protocol/Internet Protocol)을 기반으로 전세계의 네트워크를 하나로 연결 하여 각각 PC가 가지고 있는 자료나 정보를 주고 받을 수 있는 광역 네트워크

 

 

+ Recent posts