1.Command Line (터미널)
ls
- 파일보기
ls -A
- 숨겨진 파일까지 보기
ls -al
- 상세 내용
// (1) (2)(3) (4) (5) (6) (7) (8)
//drwxr-xr-x 2 root wheel 64B 11 7 14:14 test/
//1접근 권한 (읽기/쓰기/실행 가능) 여부
//2chmod 명령어
//3링크된 파일 갯수
//4소유자
//5소유그룹
//6파일 크기
//7만든 날짜
//8만든 시간
//9파일/디렉토리 이름
cd 디렉토리 이름
- 디렉토리로 이동( print working List )
myuser@mymachine:~$ `cd` Downloads
cd-
- 뒤로가기
cd /
- global 로 가기 (제일 처음 root 디렉토리로 이동 )
pwd
- 내가 어디있는지 확인
// myuser@mymachine:~/Downloads$ pwd
// showing that .. Users/myuser/Downloads
touch [file_name]
- 빈 파일 생성
mkdir [dir_name]
- 디렉토리 생성
cat [file_name]
- 텍스트 형태의 파일 확인
mv [file_or_dir] [target_dir]
- 파일 및 디렉토리 옮기기
mv [file_or_dir] [new_name]
- 파일 및 디렉토리 이름 바꾸기
cp [file] [target_dir] or cp -r [folder]
- 복사
rm [filename]
- 파일 삭제
- 휴지통에 들어가지 않음
rm -rf [dirname]
- 폴더 삭제
- 휴지통에 들어가지 않음
rm -d [file or dirname];
————————————————————
2.Git(Version Control System)
git-work-flow
-
페어랑 같이 fork 를 받아서 작업할때 쓰는 명령어
-
- 각각 서로 github 에 있는 레포주소를 clone 해서 연결한다.
-
- John이 코드를 작성한다. 그리고 add,commit,push 명령어를 통해 github 에 올린다.
-
- Tim 이 변경된 작성 코드를 가져온다. git pull [명칭] master 명령한다. 그리고 pull 땡겨온 것 을
꼭
add commit push 를 통해 github 에 올린다. 변경된 push 를 하지 않은체 한다면 다음 commit 이 작동하지 않고 충돌이 난다.
- Tim 이 변경된 작성 코드를 가져온다. git pull [명칭] master 명령한다. 그리고 pull 땡겨온 것 을
-
git remote remove [명칭]
- remote 연결된거 지우기
origin https://github.com/J-E-Y/im-sprint-data-structure.git (fetch)
origin https://github.com/J-E-Y/im-sprint-data-structure.git (push)
pair https://github.com/Dal-ya/im-sprint-data-structure.git) (fetch)
pair https://github.com/Dal-ya/im-sprint-data-structure.git) (push)
git remote remove pair
git branch -d test
- branch 지우기
git branch -d test
# Deleted branch test (was ########).
git push origin –delete test
- remote 지우기
it branch -a
# *master
# test
# remote/origin/master
# remote/origin/test
git push origin --delete test
# To <URL of your repository*.git
# - [deleted] test
git branch -a
- 현재 romote 상태 보기
git branch -a
# *master
# test
# remote/origin/master
# remote/origin/test
git init
- Create an empty Git repository or reinitialize an existing one
git clone
- Clone a repository into a new directory
git add .
- Add all file contents to the index
git add 파일 이름
- one file add
git add jung.html
git commit -m "”
- write message into github
git remote add origin””
- link local to github
Git remote add origin "https://github.com/J-E-Y/test_2.git"
git push
// git push -u origin master 최종 깇허브에 올리기
// git push -u origin master
// git push -f origin master ( 강제로)
git log
- 그동안 commit 한 내용을 볼수 있다.
*enter 키를 치면 밑에 내용을 계속 볼수 있다.
- log 파일을 나오려면 q 버튼을 누르면 된다.
git status
- 현재 진행 상태 보기
git config –global
- 등록하기
git config --global user.email "yourGitHub@email.com"
git config --global user.name "yourGitHubusername"
git branch : 충돌 방지하기
-
merge 하는 중 출돌이 존재할수 있다.
-
master branch 와 develop branch와 내용이 다를경우 master branch 에서 통합을 한다.
-
merge 하는 순간 conflict 가 발생 한다.
-
git은 병합한 코드가 무엇이 다른지 코드안에 표시가 되게 한다.
-
그리고 그분은에 들어가서 HAED 부분을 선택할지 develop 부분을 선택할지 직접 수동으로 코드를 삭제해서 결정을 하고 저장한다.
-
git add . 하고 다시 git merge develop 한다.
-
그럼 병합이 된것이다.
-
확인 git merge develop 하면 이미 병합이 되었다 .
-
그럼 log 하면 같은 화면에 master와 develop 가 동시에 나온다.
-
develop 는 필요없기 떄문 git branch -d develop 명령으로 삭제한다.
-
git branch 만 확인하면 master branch 만 남아있다.
-
git push 로 마무리
git Branch
![](/tutorial/Git_files/Screen Shot 2019-09-24 at 3.19.15 PM.png)
-
Branch : git 은 동시에 여러 개발자들이 프로젝트에서 각기 다른 기능을 개발할 수 있도록 브랜치 (branch) 기능을 제공한다.
-
일반적으로 EX)
- Master Branch
- Develop Branch
- Bug Fix Branch
-
기능들이 수정되면 Master Branch 에 합치기(Merge) 라면 명령어를 사용해서 합치면 된다.
-
Branch 에는 두가지 용어
-
- 통합Branch : Master Branch 를 말한다.
-
- 토픽Branch : 특정 기능을 위해 만들어진 Branch 를 말한다.
-
-
실습
-
git branch 명령 하면 현재 몇개의 branch 가 있는지 확일할수 있다.
-
git branch develop 명령 branch 생성
-
cheakout develop 명령을 현재 default 값이 master 에서 새로만든 develop branch 로 바꿔준다. (git branch 로 확인할수 있다.);
-
이상태에서 기존 master branchs 에 있는 코드에 수정을 하고 git add 하고 git commit 을 하고 log 명렁을 하면 현재 ‘HAED -* develop’ 바뀐것을 볼수 있다.
-
그러면 master branch 에는 적용이 안되있고 새로생성한 branch 에만 해당되어있다. 그러면 develop 에서 작업을 할수 있다.
-
이것을 합치기 위해서는 merge 명령을 한다.
-
git cheakout master 명령을 해서 되돌아 간다.
-
그리고 git merge develop 명령을 해서 합친다.
-
마지막으로 git push 명령을 해서 깃허브에 저장한다.
-
필요없는 branch develop 를 삭제는 git branch -d develop 이다.
-
기존에 commit한 내용으로 되돌아 가기
-
log 명령을 하고
-
git reset
--hard 9a9sdsa8fsdfsd6a78f6safs
명령을 한다. -
가져온 주소명령으로 돌아가고 그 이후에 있는 commit 내용들을 싹다 지운다.
-
주의 commit 내용들이 지워질뿐 아니라 모든 로컬에 저장되어있는 파일들도 제거된다.
-
그리고 나서 push 를 해주는데 push -f 를 명령해야 깃허브 저장소에서도 동일하게 적용된다.
git :log
git :commit – amend
-
commit 명령을 잘못 넣으면 이명령어를 통해 수정할수 있다.
-
unix 에디터가 실행된다. 이모드는 수정모두와 관리자 모드로 나뉜다.
-
수정 모드로 들어가고자 한다면 a 를 입력하면 된다.
-
그리고 내용을 수정하고 ESC 누르고 : 입력하면 wq! 수정되고 밖으로 나오게 된다.
-
git status 하면 수정된 파일을 볼수 있다.
-
git push -f 강제로 명령하면 적용된다.
git cheakout–
-
add 한다음에 git status 명령을 하면 수정된 파일이 스테이지에 올라가게 된다.
-
cheakout– 이라는 명령을 하면 add 하기전 코드상태로 되돌아 간다.
git reset
- add 한 파일을 다시 되돌리기
git branch 이름 변경
- 이름을 바꾸려는 로컬 지점으로 이동
git checkout <기존 이름>
- 다음을 입력하여 로컬 지점의 이름을 변경한다.
git branch -m <새 이름>
- <새 이름> 로컬 브랜치를 푸시하고 업스트림 브랜치를 재설정한다.
git push origin -u <새 이름>
- <기존 이름>원격 브랜치를 삭제한다.
git push origin –delete <old_name>