반응형

https://openinfradays.kr/session/10

 

OpenInfra Community Days Korea 2021

손석호 Speaker's bio 한국전자통신연구원(ETRI)에서 클라우드 컴퓨팅을 연구하며, Kubernetes와 Cloud-Barista 등의 오픈소스에 기여하고 있습니다. [Kubernetes] - SIG-Docs Korean Localization Team Leader - Kubernetes/websi

openinfradays.kr

위 영상을 보면서 간략하게 메모한 내용입니다.
 
Github contribute Workflow

Upstream Repository -> Origin Repository -> Local Repository -> Working copy

1. Fork : Upstream Repository 에서 Fork 받으면  Origin Repository 로 이동
2. Clone : Origin Repository 에서 Local Repository 로 이동
3. git remote add upstream (upstream repository 를 알수 있도록 설정)
4. git fetch upstream
5. git checkout 현재_최신_브랜치
6. feature 브랜치 생성해서 작업 진행후 commit
8. git fetch upstream (내가 작업하는 도중에 변경되는것을 확인하기 위해)
9. git rebase upstream/현재_최신_브랜치
7. local -> origin 으로 push (본인 저장소)
8. Pull Request 생성

 

 

728x90
반응형

'Development > Git' 카테고리의 다른 글

git cherry pick  (0) 2024.01.05
다른 브랜치에서 pull 하면 어떻게 될까???  (0) 2020.12.07
github page 에 테마 설치  (0) 2020.10.20
github 에 page 만들기  (0) 2020.10.15
Git local, remote branch 삭제  (0) 2020.09.08
반응형

1. icarusn 모듈 설치

먼저 로컬에 있는 blog 소스가 있는 폴더 안에서 git submodule 을 추가해준다.

내가 설치하려고 하는 테마는 icarus 라는 테마인데 설치 방법은 여러가지가 있다.

Document를 보니 git submodule 을 추가하는 방법도 있고 npm 으로 설치하는방법도 있다.

 

git submodule add https://github.com/ppoffice/hexo-theme-icarus.git themes/icarus

 

이렇게 하면 blog 하위에 themes 폴더 안에 icarus 라는 항목이 생긴다.

 

또는

 

npm install -S hexo-theme-icarus

 

나는 submodule 을 추가 하는 방법을 사용했다.

 

2. 설정파일 변경

_config.yml 파일을 수정해준다.

 

theme: icarus

 

3. 반영 확인

설치 완료 후 hexo server 명령어를 통해서 로컬에서 기동 시켜보면 테마가 변경 된 것을 확인 할 수 있다.

 

4. 에러 발생시?

혹시라도 아래와 같이 dependencies 에러가 난다면 에러난 항목들을 설치해 주면 된다.

아래 bold 처리한 부분을 설치해 주면 된다.

 

INFO  === Checking package dependencies ===
ERROR Package bulma-stylus is not installed.
ERROR Package hexo-renderer-inferno is not installed.
ERROR Package hexo-component-inferno is not installed.
ERROR Package inferno is not installed.
ERROR Package inferno-create-element is not installed.
ERROR Please install the missing dependencies your Hexo site root directory:
ERROR npm install --save bulma-stylus@0.8.0 hexo-renderer-inferno@^0.1.3 hexo-component-inferno@^0.10.1 inferno@^7.3.3 inferno-create-element@^7.3.3
ERROR or:
ERROR yarn add bulma-stylus@0.8.0 hexo-renderer-inferno@^0.1.3 hexo-component-inferno@^0.10.1 inferno@^7.3.3 inferno-create-element@^7.3.3

 

5. git submodule 관련 사항

- 설치 잘못해서 재 설치시 나왔던 에러

git 레파지토리에 submodule을 추가했다가 제거한 후 다시 추가 하려고 하니 다음과 같은 에러가 발생했다.

 

A git directory for 'themes/icarus' is found locally with remote(s):

 

그런데 분명한것은 현재 로컬에는 저 폴더가 없는 상태이다. 하짐나  .git/modules 하위에 themes/icarus 라는 폴더가 남아있었다. 그래서 그 폴더를 삭제한 후 submodule  을 추가 하니 정상적으로 동작을 했다.

 

- 다른 곳에서 submodule 을 포함한 소스 내려 받기

 

최초 내려 받기 : git clone --recursive git_url

이미 내려받는 곳에서 submodule 만 받기 : git submodule update --init --recursive

 

 

참고 사이트 

github.com/ppoffice/hexo-theme-icarus

blog.zhangruipeng.me/hexo-theme-icarus/uncategorized/getting-started-with-icarus/

www.vogella.com/tutorials/GitSubmodules/article.html

728x90
반응형
반응형

1. github 에 레파지토리 생성

레파지토리 이름은 다음과 같이 만든다.

[ID].github.io

일단 이렇게 하면 저장소 준비는 완료된다.

 

2. hexo 설치 (설치전에 node 는 설치 되어있다고 가정한다.)

- hexo-cli 설치 (혹시 권한 관련 Error 가 나면 앞에 sudo 추가)

npm install hexo-cli -g

- hexo 기본 구성 하기

hexo init [폴더명]

여기에서 폴더는 기존에 있던것은 안되고 새로 생성하거나 그냥 이름을 적으면 자동으로 생성해준다.

실제 폴더에 들어가면 아래와 같이 구성이 되어있다.

- _config.yml 파일 설정 하기

간단하게 다음 두개 항목만 설정해준다.

# Site (사이트 설명 : 자신에게 맞게 설정해주면 된다.)

title: Hexo

subtitle: ''

description: ''

keywords:

author: John Doe

language: en

timezone: ''

 

# Deployment (배포)

## Docs: https://hexo.io/docs/one-command-deployment

deploy:

type: git

repo: 위에 생성한 git 주소를 넣어주면 된다.

branch: main (안쓰면 master로 올라가는듯..)

 

- 로컬 실행

hexo server

 

이렇게 하면 기본적으로 4000번 포트로 실행이 된다.

 

 

3. github 에 배포하기

아래 명령어로 static 파일을 생성한다.

hexo generate 

그리고 deploy 를 한다.

hexo deploy

위와 같이 에러가 나면 다음과 같이 실행해준다.

npm install hexo-deployer-git --save

혹시라도 delpoy를 완료 하고 github 주소로 접속을 했는데 404 에러가 날 경우 다음 설정을 확인해 보면 된다.

Source 항목의 Branch 가 내가 실제 배포한 Branch 와 일치 하는지 확인해 본다. github 의 default 브랜치가 기존에는 master 였는데 최근에 main 으로 변경 되면서 당연히 master 라고 착각하는 경우가 생길 수 있다. (실제로 내가 그랬다.. ㅠㅠ)

 

4. Blog Repository 추가

이건 해도 그만 안해도 그만이다. 본인이 관리하기 쉬운쪽으로 하면 된다.

우선 실제 Blog 가 배포된 Repository 가 존재한다. (github.io 이런 이름으로)

 

그런데 실제 Blog 소스를 배포를 하는 작업을 하나의 PC 가 아닌 여러 PC 에서 작업을 할 경우가 있다. 그래서 이 소스를 관리하기 위한 레파지토리가 하나 더 필요 하다. 

 

- ~.github.io : 실재 배포 버전이 올라가는 repository

- blog : 배포를 하기위한 소스를 관리하가 위한 repository

 

이렇게 나누어 놓으면 어디서든지 github 에서 내려받아서 변경을 하고 배포가 가능하다. 

 

 

참고 사이트

hexo.io/ko/index.html

728x90
반응형
반응형

명령어 절차를 매번 찾기 귀찮아서 이렇게 기록 놓기로 했다.


1. 먼저 Github에 새로운 Repository 하나를 생성한다.



2. 실제 repository에 올리고 싶은 프로젝트의 로컬 디렉토리로 이동해서 git init 명령어를 실행한다. 그리고 git status 를 실행하면 아래와 같이 나온다.



3. git add . 명령어를 실행한다. 



4. git commit -m "커밋 메세지" 를 실행한다.



5. 1번에서 만들어 놓았던 repository 의 주소를 복사한다.


6. git remote add origin 복사한 주소 를 실행한다.


7. git push -u origin master 를 실행한다. 그런 다음 아무 에러가 안나면 끝난다. 

그런데 이때 reject 가 나오는 경우가 있다. Git Repository 를 생성할때 ReadeME  파일을 생성하도록 하면 이미 commit 한 내용이 있기 때문에 pull 을 받으라고 나온다.



 그런데 막상 pull을 받으면 아래와 같이 메세지가 나온다.



이때에는 git pull origin master 라고 입력해주면 된다. 


그리고 또 혹~~ 시라도 아래와 같은 메세지가 나오는 경우가 있다.


fatal: refusing to merge unrelated histories


이 에러는 각각의 history를 가진 프로젝트를 병합 하려고 할때 나온다고 한다. 그럴 경우에는 아래와 같이 옵션을 추가해서 pull을 받아야 한다.


git pull origin <branch name> --allow-unrelated-histories


참고 사이트

https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/

https://hongjinseob.wordpress.com/2017/11/24/git-fatalrefusing-to-merge-unrelated-histories-%ED%95%B4%EA%B2%B0/

728x90
반응형
반응형

백기선님의 Spring Boot 레퍼런스 동영상을 보다 보니 레퍼런스도 한번 쭉~~ 살펴볼 필요가 있겠다 싶은 생각이 들었다. 그럼 뭘 볼까? 라고 생각 하다가 Spring Security 를 보기로 결정 했다. 기간을 가지고 보는것은 아니고 그냥 처음부터 차근차근 정리 하면서 읽어보자라고 생각을 했다. 그런데 보다보니 약간 이상한게 있었다.



위 내용은 레퍼런스에 나오는 5.2장 HttpSecurity 부분이다. 이상하다고 생각한 부분은 "However ~~~~~" 단락이다. 대체 뭘 어떻게 한다는 의미인지 알수가 없었다. 대체 커스텀 로그인 페이지를 만들때 뭘 조심하라는건지. Url이 RESTFul 한데 뭘 어쩌라는건지. 그리고 정보 유출을 막기위해 Spring security 를 사용하는것이 뭐가 분명하지 않다는것인지 이해가 가지 않았다. 커스텀 로그인 페이지를 만들면 spring security가 해줄수 있는 영역이 분명치 않다는 의미인지.. 그리고 마지막에 "For example" 이 있는데 왜 정작 그 다음에는 예제에 대한 내용은 없는 건지 알수가 없었다. 


그래서 내용이 궁금하기도 해서 spring security github issue 페이지에 issue를 등록했다. 



이슈 링크: https://github.com/spring-projects/spring-security/issues/5242#event-1584275921


그랬더니 issue가 처리 되었다고 메일이 왔다. 그래서 뭐가 어떻게 되었는지 확인을 해보았다. 일단 현재 spring security 5.0.4 Release의 reference는 변경사항이 없다. 그래서 git 을 확인해봤다. 뭐 이런 저런 내용이 있었다. 



처음에는 내용을 보니 첫 문단에 뭘 drop했다는 건지는 잘 모르겠다. 그런데 다시 넣었고 적절한 방법은 "For example" 을 지우는 거라고 코멘트가 써있었다.

그리고 그 다음에 또 다른 내용이 있었다.

내용을 살펴보면 이렇다. 

그 단락은 Spring Security가 왜 예전의 default URL 과 parameter에서 새로운 것으로 변경했는지 설명하기 위해서 작성한 것이다. 그러데 XML과 Java Config가 동일해서 지금은 더이상 적절하지 않다.

그래서 결론적으로 

Restore Example Default URLs and Parameters List to Remove Default URLs and Parameters Commentary

그 단락을 삭제했다.


그런데 삭제 했다는데 Reference 에는 아직 존재를 한다. 그래서 다시 Spring Security Github 를 뒤졌다. 


Commit 로그가 저렇게 있었다. 그래서 세부 내역을 확인해 보았다.



히스토리를 보니 저렇게 그 부분이 삭제되어 있다. 아마도 다음 레퍼런스에 반영이 되려나 보다. 레퍼런스를 읽다 보니 이런 일도 생기는구나 라는 생각을 했다. 앞으로 차근차근 더 읽어보면서 또 의문나는것이 있으면 자주 이용을 해야겠다.



728x90
반응형

+ Recent posts