현재 Git는 Public 과 Private 로 나누어서 사용할수 있도록 되어 있습니다.

PC에서 작업한 변경파일을 Local Repository 에서 이력관리 할수 있습니다. 또한 이 Local Repository 의 백업으로 Remote Repository 를 설정할수도 있습니다.

Remote 로 관리를 할때에는 Public로 설정되어 있으면 모든 사람에게 오픈되어 있기때문에 노출되어서는 안되는 자료가 올라갈수도 있습니다. 정보보안관리를 잘해야 할듯 합니다.


Remote Repository를 재설정하는 작업을 해보았습니다.( 무턱대로 들이대었지요.ㅋ )

1. GitHub.com 사이트에서 자신이 관리하고 있는 레파지토리의 admin으로 들어갑니다.

화면 하단에 보면 Git Danger Zone이 있는데 이곳에서 기존 Remote Repository를 삭제해 보았습니다.

한번 삭제하면 복구는 불가능하다고 적혀 있네요.



2.  내 PC의 Git Console 화면에서 Local 과 Remote 를 재연결하는 작업을 합니다.

Git pull 명령어 실행하면 

gitignore. 

README.md 

추가생성한 2개의 파일을 Local로 다운로드 합니다.



3. Local 파일 정보를 Remote 로 Push 하면 완료됩니다.


Git 작업시에 필요한 명령어

특정파일을 삭제할려고 할때  : git rm 파일명

특정디렉토리에 있는 모든 파일을 삭제할려고 할때 : git rm -r images/*

삭제된 파일을 add 할때 :  git add -u

삭제한 것을 복구할때 : git reset --hard HEAD



블로그 이미지

희망잡이

,



파워빌더 소스(PBL)을 GitHub와 연계하니깐 Binary 파일로 인식하여 소스내용을 볼수 가 없습니다.

그래서 파워빌도 소스(PBL) 을 텍스트 소스파일(srd,srw 등)로 변환하고 변환된 파일을 GitHub에 업로드 하는걸로

프로세스를 잡았습니다.

매번 소스를 변경할때 소스파일로 변환하는 번거로움이 있어서 한번에 소스파일로 변환해주는 툴을 찾아보았는데

pbldump 라는 도구가 있더라고요.

보통 소스를 여러개 폴더로 나누어서 관리하기때문에 일괄적으로 변환하기 위해서는 Ant 자동화도구를 사용해야

할것 같아서 연계하기로 하였습니다.

여기서 고민이 생겼는데요? 1. Ant로 변경프로세스를 코딩할건지 2. 자바로 코딩하여 Ant에서 실행할건지...

자바로 코딩하고 Ant로 실행을  구현해 보고자 한다.

1. 자바 실행파일 작성

파일필터(FileFilter) 클래스를 상속받아서 특정 확장자를 가진 파일만 가져올 수 있는 클래스를 작성한다.

작성된 파일필터 클래스를 생성자의 인자로 하여 특정폴더 및 하위폴더에서 파일리스트를 가져오는 클래스를 만든다.

가져온 파일중에 isDirectory() 로 디렉토를 체크하여 recursive 루틴을 타도록 코딩하고

파일을 경우에 RegExp 패턴을 사용한 Validator 클래스를 작성하여 원하는 파일인지를 체크한다.

IMAGE_PATTERN =  "([^\\s]+(\\.(?i)(pbl|png))$)";

pbldump.exe파일을 호출하도록 command 배열을 작성한다.

Process oProcess = new ProcessBuilder(commands).start();

위 두 클래스를 이용하여 Ant에서 호출하여 실행할수 있는 클래스를 작성한다.

public class GeneratePbldump extends Task {

public void execute() {

2. Ant 배치작업 파일에서 xml 파일을 작성하여 실행한다.

<taskdef name="pbldump" 문장을 추가하여 target 기입한다.


블로그 이미지

희망잡이

,



시나리오

프로그램 소스를 수정하고 실행하는 관리폴더가 있습니다. 이 폴더 및 하위폴더에서 변경된 파일을 가져와서

GitHub 레파지토리로 이동하여 이력관리를 하고자 합니다.

소스를 관리하는 폴더와 레파지토리가 다르기 때문에 자동으로 이동하는 프로그램이 필요합니다

내 컴퓨터 자동실행잡으로 Ant Build 파일을 작성합니다.

매일저녁 11시에 실행하면서 그날 파일의 변경날짜가 오늘과 같은 파일을 가져와서

목표폴더에서 해당파일을 덮어쓰기 하는 구조로 프로그램을 작성해야 할 듯 합니다.


키포인트 : 

1. Ant 실행파일에서 금일에 변경된 파일을 어떻게 가져올건지?

2. 이력관리가 이루어지고 있는 파일에 대한 삭제하고 입력할때 GitHub가 어떻게 처리하는지?

3. Ant 실행파일에서 GitHub 명령어를 실행할수 있는지?

블로그 이미지

희망잡이

,



구루사이트에서 최신정보자료를 읽다가 github 라는 기술을 알게 되었다.

예전에 cvs, subversion 같은 형상관리 시스템이 이용하여 프로젝트를 개발 및 관리하였는데,

최근에는 GitHub 사이트에 회원가입해서 형상을 관리하는 추세라고 한다.

나의 경험을 적어 보기로 한다. 

www.github.com 사이트로 가서 회원가입을 한다. GitHub BootCamp를 통해서 순서대로

진행해서 윈도우 최신버전으로 설치하였다.

1. Setup Git

인스톨 버전을 실행하여 설치하고 bash 프로그램으로 진행한다.

내 컴퓨터와 GitHub 사이트의 연결은 SSH Key를 사용하여 연결상의 보안을 유지한다.

보안키와 공개키를 작성하여 공개키를 GitHub에 등록하는 작업을 한다.

공개키를 복사할때 빈공백이나 빈줄이 들어가지 않도록 주의한다.

정상처리 메시지 : Hi username! You've successfully authenticated, but GitHub does not provide shell access.

2. Create A Repository

GitHub 사이트에서 새로운 저장소를 생성한다. 

똑같은 이름의 저장소를 내 컴퓨터에 생성한다. Git Bash에서 작성한다.

mkdir Hello-World

cd Hello-World

git init

touch README

git add README

git commit -m 'first commit'

git remote add origin git@github.com:username/Hello-World.git

git push -u origin master

=> 에러메시지 발생했다.

ERROR: Repository not found.

fatal: The remote end hung up unexpectedly

=> 해결절차

공개키가 사이트에 제대로 반영되었을까?

ssh -v git@github.com  - 정상적으로 조회된다.

git status - 상태 파악

cat .git/config - 구성파일 확인

git config remote.origin.url <Dreamhost-git-URL> - 환경설정 변경

git remote -v : 리모트 상태 표시

git remote add origin git@github.com:username/Hello-World.git 이 명령어로 생성된 origin 처음에 잘못된 환경에서

만들어져 있으면 환경을 바꾼다음에 origin을 삭제하고 다시 원격 생성작업을 한다.

3. Fork A Repository

4. Be social

블로그 이미지

희망잡이

,