반응형

 

이미 존재하는 깃허브 폴더에 또 풀을 땡기고 또 푸시를 하니까 생기는 에러인 것 같다. 

 

> 로컬 저장소에 있는 프로젝트를 깃허브 사이트를 통해 만든 저장소로 push 하는 경우에 이런 메세지가 뜨는 경우라고 합니다.

 

push 전에 먼저 pull을 해서 프로젝트를 병합해 주어야 한다.

 

 

pull 명령 실행시 이런 문구와 함께 진행되지 않는다면, 다음의 명령으로 실행한다.

 

$ git pull origin 브런치명 --allow-unrelated-histories

 

--allow-unrelated-histories  

=> 이 명령 옵션은 이미 존재하는 두 프로젝트의 기록(history)을 저장하는 드문 상황에 사용된다고 한다.

즉, git에서는 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 때 기본적으로 거부하는데, 이것을 허용해 주는 것

 

 

 

자알 된다아

반응형

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

Github 포토폴리오 만들기(2)  (0) 2020.03.06
Github 포토폴리오 만들기(1)  (0) 2020.03.06
Git 동작 원리  (0) 2020.03.05
Git 사용법(Git Bash)  (0) 2020.03.05
반응형

(1)편에서 이어집니다. :)

 

앞에서 그냥 Jekyll 사용해서 깃허브 상에서하려고했는데 루비를 깔고.. clone 받아 진행해보려고 합니다. 

 

 

1. 루비 설치 

- Jekyll는 루비 기반입니다. 

- MACos 에는 Ruby가 기본적으로 설치되어있습니다. 

- 전 윈도우 이기 때문에 루비를 깔아주고 시작하겠습니다.

- 설치 후 이렇게 확인해보시면 끝 :)

 

 

2. Jekyll 설치

- 로컬에서 설치 

 

3. Jekyll 테마 선택 후 자신의 repo에 colne 


를 해야한다고 생각했지만 .. 그냥 클론하고, 넣고 싶은 것 넣고 그러면 되서 조금 민망.....

 

저 처럼 그냥 에디터에 git clone하여 불러와도 좋고 그냥 깃허브 자체에서 파일을 고쳐도된다고..

 

고쳐야하는 부분이라면 

 

_config.yml 파일

   => base.url = ""

   => url = "현재 사용하는 도메인 주소"

   => 나머지 부분들은 취향대로 넣으시면됩니다. 

 

 

그리고 nav가 테마에 있고 이곳에 Markdown페이지를 만들어 연결하거나, html을 만들어서 연결하려면

우선, 각 페이지에 들어갈 파일을 먼저 만들어주고 위에 메타데이터를 선언해줍니다. 

저는 나머지 파일들은 html보다 마크다운페이지로 만들어주려고 하기 때문에 이런식으로 선언하여 확인해보았습니다. 

 

이런식으로 파일 작성해주고 url 연결해주면 

navbar을 통해 아래 처럼 페이지로 나올 수 있도록 해줍니다. 

뭐 처음에는 조금 어려운 것이라 생각해서 정리해볼까 했는데 막상 만들어보니 쉬워서 ㅎㅎ 

루비 기초만 아시는 분들도 금방하실 것 같습니다 :) 

반응형

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

Git push가 안되는 경우 (fatal: refusing to merge unrelated histories)  (0) 2020.04.14
Github 포토폴리오 만들기(1)  (0) 2020.03.06
Git 동작 원리  (0) 2020.03.05
Git 사용법(Git Bash)  (0) 2020.03.05
반응형

지킬(Jekyll) 을 활용하고 Github 서버를 사용해서 포토폴리오를 만들어볼까합니다

 

그냥 웹사이트 하나 만드는게 편하다고 생각하시겠지만.. 전.. 프론트쪽에 관심이 없고.. 못하기때문에 ..

템플릿을 가져오는 거 보단, 요즘 깃허브 공부하는 겸.. ㅎㅎ 쉬운게 좋은 거라고 생각하기 때문에 ..GG :)

 

깃허브 가입과 Git Bash 설치를 전제로 진행하겠습니다. 

 

1. 깃을 깔고  Git Bash  실행 -> 사용자 등록합니다. 

git config --global user.name "깃허브네임"
git config --global user.email "깃허브이메일"

 

 

2. 테마를 다운 받습니다. 

- 구글링하면 다 나옵니다. 전 아래 사이트,  phantom 테마를 선택하였습니다. 

https://jekyllthemes.io/jekyll-portfolio-themes

- 테마를 클릭하고 아래로 내리면 "get 테마이름 on github" 버튼이 존재하고 이를 클릭합니다.

 

 

3. 우측 상단의 fork버튼을 눌러 이 페이지 저장소를 본인의 repo에 복제합니다. 

 

4. 본인의 닉으로 복제한 저장소가 생성됩니다. 

5. Settings  => Repository name에 자신의 닉네임을 적어 이를 도메인으로 만들어줍니다

닉네임.github.io

    (원하는 도메인명이 있다면 도메인을 사시면됩니당)

 

 

6. 조금만 기다리고 settings => Githup page 부분으로 스크롤을 내리시면 이렇게 초록색 부분으로 바뀌게 되고 이 링크를 클릭시 사이트에 들어갈 수 있습니다. fork한 프로젝트 이기 때문에, css, js가 다 깨져있는 상태이므로 path 설정을 통해 바꿔보겠습니다. 

반응형

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

Git push가 안되는 경우 (fatal: refusing to merge unrelated histories)  (0) 2020.04.14
Github 포토폴리오 만들기(2)  (0) 2020.03.06
Git 동작 원리  (0) 2020.03.05
Git 사용법(Git Bash)  (0) 2020.03.05
반응형

기본적으로, 깃 프로젝트 담겨있는 데이터  => 파일 시스템 상에서의 스냅샷(Snapshot)

 

파일 자체를 저장하기 보다는 실제 프로젝트를 커밋하여 적용할  순간을 중요시 여겨 그 수정 내역 자체를 저장

 

 

<Git 프로젝트 3가지 구성요소 >

 

- Working Directory: 작업할 파일이 있는 디렉토리(내 컴퓨터 작업 공간)

- Staging Area: 커밋(Commit)을 수행할 파일들이 올라가는 영역

- Git Directory: Git 프로젝트의 메타 데이터와 데이터 정보가 저장되는 디렉토리

 

 

 

 

??저장소란??

  저장소(Repo)는 실제 소스코드가 담겨 있으면서 커밋(Commit) 내역 등의 모든 작업 이력이 담겨 있는 공간을 의미합니다. 실제로 프로젝트의 메타 데이터를 포함해 각종 데이터는 .git 폴더에 담기게 됩니다. 실제로 이 폴더를 열어 보면 각종 데이터와 해시 값 등이 담겨 있습니다.

 

  어떠한 파일을 Commit 하게 되면 각 작업들을 분류하기 위해 내부적으로 해당 작업에 대한 해시(Hash) 값을 이용하는 것입니다. 일반적으로 해시 값은 충돌이 발생하지 않기 때문에 정확히 커밋 내역들을 관리할 수 있습니다.

 

 

출처: https://ndb796.tistory.com/187 [안경잡이개발자]
반응형
반응형

Git 이용하는 2가지 방법

  • SourceTree : Git GUI 툴 (접근하기 좋고 현재 상태에 대해 파악하기 좋아 협업에서는 많이 사용되지만,
                                     좀 더 디테일한 명령어를 다룰 수 없기에 좋아하지 않는다 ㅎㅎ)
  • Git Bash

 

기본적인 명령어 

  • 화면 초기화 : Ctrl + L
  • 한 행의 처음과 끝 : Ctrl + A, Ctrl + E
  • 목록 보기 : ls 또는 dir
  • 파일의 내용 보기 : cat
  • 특정 문자를 검색 : grep
  • 디렉터리로 이동 : cd
  • 디렉터리 생성 : mkdir
  • 파일 삭제 : rm
  • 파일 생성 : touch

 

git config (최초 1회 실행)

// git commit에 사용될 username

git config --global user.name "your_name"

 

// git commit에 사용될 email

git config --global user.email "your_email@example.com"

 

// 설정한 내용을 확인할 수 있다.

git config --list

git init 

//현재 디렉토리를 로컬저장소로 설정한다

// 로컬저장소로 설정할 프로젝트 위치로 이동

cd 프로젝트path

 

// 로컬저장소로 설정

// (master) 브랜치로 보이면 성공!

git init

 

// 만약 init을 취소하려면 아래의 명령어를 입력

rm -r .git

 

git status

//로컬 저장소의 현재 상태 보여줌

 

git add

//파일을 준비영역(Staging Area)으로 옮김 (GitHub와 연동하려면 git remote로 원격 저장소와 연결해야 함)

// a.html 파일만 추가

git add a.html

 

// 워킹 디렉터리 내 모든 파일을 추가

git add .

 

// 명령 프롬프트에서 상호작용하면서 추가 (나갈땐 q를 입력)

git add -i

 

// 진행중인 파일일 경우, Staging Area에서 워킹 디렉터리로 옮긴다.

$git rm --cached a.html

$git rm -r --cached .

 

git commit

// 준비영역(Staging Area) 의 파일을 로컬저장소에 저장

// 에디터가 출력되고, 에디터에서 커밋 메시지 입력 후 저장하면 커밋됨

git commit

 

// 간단한 커밋 메시지를 입력후 커밋

git commit -m "커밋 메시지"

 

// Staging Area에 들어간 파일에 대해서만 (워킹 디렉터리는 적용 X)

git commit -a -m "커밋 메시지"

 

 

git log

//로컬 저장소의 커밋 이력을 조회

// 커밋 이력 상세조회
git log 

 

// 커밋 이력중 커밋ID, 타이틀 메시지만 조회

git log --oneline

 

// 모든 브랜치 커밋 이력 조회

git log --oneline --decorate --graph --all

 

// 특정 파일의 변경 커밋 조회

git log -- a.html

 

git remote

//로컬 저장소와 원격 저장소를 연결

// Github 원격저장소와 연결한다.

git remote add origin [자신의 Github 원격저장소 주소]

 

// 연결된 원격저장소 확인한다.

git remote -v

 

git push

//원격 저장소에 저장

// 원격저장소에 저장한다.
git push -u origin master

 

// 에러 - ! [rejected] master -> master (fetch first)

// 이미 변경된 파일이 원격저장소에 있을경우 발생

git pull origin master 

 

// 에러 - ! [rejected] master -> master (non-fast-forward)

git push origin +master

 

 

git branch

//브랜치 생성, 수정, 삭제

//브랜치 보기
$git branch

//브랜치 생성
$git branch [브랜치명]

//브랜치 수정
$git branch -m [브랜치명] [바꿀이름]

//브랜치 삭제
$git branch -d [브랜치명]

 

 

git checkout

//워킹 디렉토리 소스를 특정 커밋이나 특정 브랜치로 변경

//특정 브랜치로 워킹 디렉터리 변경
$git checkout [브랜치명]

//특정 커밋으로 워킹 디렉터리 변경
$git checkout [Commit ID]

 

//특정 파일을 해당 브랜치 또는 커밋 상태로 변경 (원복)
$git checkout [돌아갈 Commit ID] -- [파일 경로]
*충돌 방지를 위해 브랜치명을 확인하고, 파일 추가 및 수정한 뒤 커밋해야 한다.

//브랜치 생성 및 체크아웃을 같이 할 경우
$git checkout -b develop

 

git merge

//다른 두 개의 브랜치 소스 병합

$git checkout master
$git merge develop

*같은 파일의 같은 위치의 내용이 변경된 경우 충돌이 발생한다.
반응형

+ Recent posts