1. 리눅스 필수 명령어
@ 리눅스 디렉토리 이동 명령어
1. pwd (print working directory)
- 현재 작업하고 있는 폴더의 디렉토리 즉, 현재의 경로와 위치를 보여 주는 명령어
2. ls (list)
- 현재 있는 위치의 폴더내부의 폴더나 파일들의 내역을 보여주는 명령어
3. ls -a (list all)
- 현재 있는 위치 폴더 및 파일 그리고 숨겨진 파일들 까지 모두를 보여주는 명령어
4. cd 폴더명 (change directory)
- ls 명령어에서 확인된 폴더들의 이동을 해주는 명령( 즉, 현재 위치를 변경 해주는 명령어)
- cd .. 명령어를 사용하면 한 단계 위 즉, 상위 부모 폴더로 디렉토리 위치를 변경 해주겠다는 명령어
- cd의 디렉토리 이동은 부모 폴더로 직접 접근은 불가하며 ..을 통해 올라가야 한다.
- "/"를 통해 디렉토리의 위치를 한번에 변경시켜 이동 할 수 있다. ex) cd Desktop/junbin
5. mkdir 폴더명 (make directory)
- 현재 경로에서 폴더를 생성해주는 명령어
6. touch 파일명
- 현재 경로에서 파일을 생성하는 명령어
- 참고 : 정확히는 경로에 파일명이 없으면 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어
2. Git
git이란 코드 변경점 기록을 하며 버전 관리를 위한 도구이다.
즉, git은 수정된 파일의 변경을 기록하여 관리 함으로써 수정 되기전 파일로 돌아갈 수 있게 해준다.
( 수정 되기전 파일로 돌아가는 이유는 만들다가 에러 등등의 문제나 이전 버전을 필요로 할때 돌아간다. )
3. Git-hub
- Git-hub는 백업과 공유가 가능한 (온라인 코드 저장소)이다.
# Git-hub를 사용하는 이유
프로젝트를 진행하다 여러가지 이유로 파일이나 폴더가 로컬PC에서 날라가는 경우를 대비하기 위함이다.
온라인 서버에 코드를 올려둠으로써 내PC에 문제가 생기더라도 다른 PC를 이용해 백업을 할 수 있다.
또한 온라인 업로드를 통해 해당 프로젝트를 다른 사람과 공유가 가능해지며 이것은 협업으로도 이어진다.
정리
Git-Hub는 Git으로 관리하는 모든 프로젝트들을 온라인 공간에 공유해서 프로젝트의 구성원들이 함께 소프트웨어
만들어 나갈 수 있게 도와주는 협업 서비스 이다.
Git 명령어
1. 코드 관리를 시작하는 명령어
git init ( initialize : 초기화하다, 초기 세팅하다)
- 새로운 프로젝트 진행 시 Git이 해당 프로젝트를 관리 할 수 있게 초기에 세팅을 해주는 작업이다.
- 명령어를 입력 시 해당 디렉토리에 .git 숨겨진 폴더가 생성이 된다. ( 이 폴더가 관리를 해주는 것이다.)
- .git 폴더가 생성되는 순간 부터 코드 변경이 이뤄지면 git에서 추적을 함.
2. 코드를 저장하는 명령어
git add 파일명 (해당 파일만 지정) / git add . (전체 파일 지정)
- 저장하기 전 저장할 파일 지정 해주는 명령어
git commit -m "기록 관련한 (메시지 작성)"
- 실제로 저장하는 명령어
3. 저장 여부 확인하는 명령어
git status
- 어떤 파일이 변경됐는지, 어떤 파일이 add(지정)됐는지 등의 여부를 즉, 변경 상태를 확인하는 명령어이다.
4. 저장 내역을 확인하는 명령어
git log
- 기존의 커밋 메시지 및 해당 커밋에 관련한 로그들을 보여주는 명령어이다. ( 변경점 추측 가능 )
Git 명령어를 이용한 Git-Hub 사용
1. 저장 내역을 Git-Hub에 반영하기
git push origin 브랜치명
- Git-Hub에 로컬PC에서 add/commit한 프로젝트 폴더를 Git-Hub에 push해주는 명령어이다.
- git push -u origin main 명령어를 수행했기에 git push만 이용해서 깃허브에 push할 수 있다.
#git remote add origin git주소
#origin 에 git주소를 넣어준다.
#원래는 git push git주소 브랜치명을 통해 push를 진행했었다.
#그런데 origin에 git주소를 넣어줌으로써 변수처럼 origin으로 대체가 가능하다.
#git branch -M main
#규정상 이름의 문제 때문에 main으로 바꿔서 사용함. ( 굳이 안바꿔도 되는데 바꾸는게 좋음 )
#git push -u origin main
#-> git push origin main을 이 명령어를 통해 git push로 대체해줌.
2. 협업시 프로젝트 코드 받아오기
git clone 깃허브주소 . (.을 붙히는 이유는 경로가 달라질 수 있으므로 붙힌다.)
- 프로젝트 초기에 GitHub에서 코드를 복사해서 가지고 와주는 명령어 이다.
- . 을 안적으면 프로젝트 폴더 안에 부모폴더를 만들어서 가지고 와진다.
3. 다른 사람이 변경한 코드 내 코드에도 가져오기
git pull origin 브랜치명 ( git pull도 가능 )
- 다른 사람이 만든 폴더나 파일을 수정했을 경우 내가 push를 하면 덮어씌워진다. 하지만 github는 이러한 문제를
막아뒀기 때문에 push를 하려면 다른 사람이 수정한 파일이나 폴더를 먼저 가지고오고 그 뒤에 push를 하게된다.
이렇게 가지고 와주는 명령어는 git pull이다.
github
workspace를 hub에 만들다!
공용작업공간
gitignore
- 올리고 싶지 않은 파일들을 지정할 수 있음.(공유되지 않았으면 하는 파일)
(target파일은 공유가 되면 안되기에 preferences에 team에 ignore Resources에 */target/*를 추가해줌.)
이유는 내가 작업한 결과물이 이 곳에 들어가기때문에 공유가 되면 안됨.
로컬저장소 : 내가 만든 git-workspace가 로컬 저장소가 된다.
원격저장소 : github사이트의 repository가 원격 저장소가 됨.
Clone을 통해 깃허브에 만들어둔 repository의 정보를 로컬저장소에 만들수있다?
웬만하면 저장소의 이름은 지우는게 좋음.
깃허브 저장소와 나의 프로젝트 로컬저장소를 연동을 해주는 작업임.
이 작업을 통해 내가 작업한 프로젝트를 공유를 할 수 있게됨.
로컬에서 변경된 사항은 원격저장소에 push를 통해 변경이 가능함.
공유가 되면 안되는 파일
.metadata
.class
/target
Servers
Git-hub
Git은 VCS의 프로그램중 하나임. Version Control System( 프로그램의 버전 관리를 위한 툴 )
타임라인의 특정 시간대 및 버전을 관리 및 이동이 가능하다.
git status => 깃의 현재 상태를 알려줌
git add . => 내가 지정한 git파일의 수정된 상태를 캡슐에 담아줌
git commit -m "" => 전체 커밋을 해줌
git log => git의 commit 여부를 확인시켜줌.
git 돌리기
git reset --hard 커밋로그 ( 커밋 로그는 git log 를 통해 알 수 있음)
git branch 현재 위치한 브랜치 및 브랜치 갯수 등등 정보 알려줌
git switch 브랜치명 : 현재 위치한 브랜치 변경
git branch 이름 : 브랜치 추가
git branch -d 이름 : 브랜치 삭제
git branch -D 이름 : 커밋된 값들이 존재하는 브랜치 삭제
git barnch
Merge => Branch를 병합 해주는 과정에서 로그를 남기는 느낌( 이어 붙혀 연결하는 느낌 )
Rebase => Branch를 완전 병합을 해주므로 전에 로그를 없앰( 이어 붙히며 완전히 병합 )
여기서 잠깐 알아보면 좋은 것.
Working directory - 처음 수정하면 여기에 존재
Staging area - add를 하면 여기에 올라옴
Repository - commit을 하면 여기에 올라옴
이건 구글에서 따로 공부하면 좋을듯.
'웹 관련(HTTP,WAS)' 카테고리의 다른 글
(HTTP) Stateless, Stateful (1) | 2024.04.26 |
---|---|
HTTP (2) | 2024.04.26 |