오늘은 CoffeeNet 프로젝트를 Github에 올렸다.

나는 블로그 처럼 뚝 하고 올리는 건줄 알았는데, 아니었다.
Git  이라는 Source Code Management 개념이있었다.

프로그램을 만들 때 버전 관리를 위해서, 그리고 다른 사람들과 같이 작업하기 위해
git을 사용한다고 한다.
local git에 저장하고 있다가, remote git에 저장하고 가져오고 한다.
오픈소스라 원격에 저장한 것은 다른 사람들도 쉽게 가져가서 수정하고 할 수 있다.

그 remote git 저장소 중 하나가 github이다. 제일 잘 나가는 저장소 중 하나이다.

github에서 계정을 만들고 새 저장소를 만든다.



(저장소 생성)



생성된 저장소는 아래와 같다.




(생성된 저장소)


이제 remote 저장소와 현재 저장소를 연결해야한다.



(사용자 정보 입력)


사용자 정보를 입력한다.

그리고 remote 저장소와 연결



(remote 저장소와 연결)


이와 같이 하면 연결은 끝난다.

이제 현재 내 VM-kali 호스트와 계정을 연결해 둘 것이다.



(SSH 연결)


ssh 공개키를 내 계정에 저장해 두었다.

기존에 있는 프로젝트와 연결하고 push 하려했더니 자꾸 싱크가 안맞아서 에러가 났다...

그래서 할 수 없이 새로 다른 폴더를 만들고, 거기서 git clone을 해준 뒤, 작업했다.


(add 전)


git clone 한 폴더에 내가 작업했던 파일들을 다 복사했다.

그리고 git status를 치니 아직 추적되지 않은 파일들이 나온다.


(add)


해당 폴더의 모든 파일을 add 해준다.
이렇게 되면 index에 다 들어가게 되고

commit을 해준다.


(commit)


이제 로컬 저장소에 변경 사항들이 저장되었다.

이제 이 정보들을 remote 저장소에 push 해주면 된다.


(push)


이렇게 다 하면 내 CoffeeNet 저장소에 아래와 같이 내가 그 동안

작업했던 내용들이 업로드 된다.



(원격 저장소)


이제 CoffeeNet 프로젝트를 소개할 README.md 를 작성해야한다.



(README.md)


위와 같이 간단히 작성하였다.

방금 작성한 README파일을 내 로컬에도 옮겼다.



(pull)


pull, push를 이용하여 github에 소스코드를 올리고 내려받으면서 관리할 수 있다.

추가적으로 이제 github를 통해 다른 사람들이 나의 코드를 받아갈 수 있다.
그런데 바로 실행이 안될 가능성이 크다.
python3 가 없을 수도있고, 내가 사용한 모듈이 없을 수도 있기 때문이다.

그렇기에 이와 관련되어 필요한 파일들을 설치해주는 setup.sh 쉘스크립트를 작성했다.



(setup.sh)


setup.sh 은
처음 작성해보는 쉘스크립트였는데,
Veil-Framework의 setup.sh를 참고하여 공부하면서 작성하였다.

그리고 파이썬의 필요한 모듈들을 파일로 이름들을 저장해두었다.


(필요한 모듈)


이 파일을 읽어서
하나씩 있는지 검사하고 없으면 설치해주는 쉘스크립트이다.

이로써, github에 업로드 까지 끝났다!!

CoffeeNet 프로젝트의 한 축이 끝났다.
이제 이 버전에 새로운 Tool을 추가하면서, 기존에 있던 코드들을 보수하고 수정하면서 관리할 계획이다.

+ Recent posts