반응형

1. 프로젝트 폴더 내에서 로컬 repository 추가 

$ git init

결과) Initialized empty Git repository in D:/mtMap/.git/

 

2. git 원격저장소 설정

$ git remote add [remote이름]  [원격 repository url]

예시
$ git remote add mytest https://github.com/h92218/mytest.git

 

3. 원격저장소 설정한거 확인

$ git remote

결과) remote이름 표시됨

 

4. git에 올릴 파일 확인

$ git status

결과 ) 파일들 상태 표시 

5. 파일 추가

$ git add -A

-A는 모든 파일 추가임

다시 한번 git status로 확인해보면

 

6. 커밋하기

$ git commit -m "message"

 

7. 푸시하기

$ git push [remote 이름]

예시
$ git push mytest


fatal: The current branch main has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream mt main

근데 아마 최초 푸시면 upstream으로 하라는 문구가 뜰 것.

해주면 됨.

$ git push --set-upstream mt main

Git global setup : 깃 전체 설정입니다~

git config --global user.name "userName"
git config --global user.email "userName@gmail.com"

Create a new repository : 레포지토리를 새로 생성하고 업로드하는 경우입니다~

git clone http://git 레포지토리 주소~~
git switch -c main
touch README.md
git add README.md
git commit -m "add README"
git push -u origin main

Push an existing folder : 레포지토리는 존재하고 git 업로드를 최초로 하는 경우입니다.

git init --initial-branch=main
git remote add origin http://git레포지토리주소~
git add .
git commit -m "Initial commit"
git push -u origin main

 

Push an existing Git repository : 사용하던 레포지토리에서 다른 레포지토리로 전환하여 업로드하는 경우

git remote rename origin old-origin
git remote add origin http://git레포지토리주소
git push -u origin --all
git push -u origin --tags

 


github에서 git repository 폴더 화살표 / 디렉토리 화살표 오류 

 

GitHub(깃허브) - 디렉토리에 화살표 표시(폴더 클릭이 안될 때)

📎 GitHub 디렉토리 화살표 표시 -> 폴더 접근 불가능 깃허브에서 한 디렉토리에 다른 디렉토리를 추가하는 도중 위와 같이 디렉토리에 화살표 표시가 생기고, 디렉토리에 접근이 되지않는 문제

zzang9ha.tistory.com

 


CRLF will be replaced error

 

Git 에러 CRLF will be replaced by LF (혹은 반대) 핸들링하는 방법

맥/리눅스 이용 개발자와 윈도우 개발자가 협업할 때 왜 발생할까? 터미널에 git 명령어를 입력했는데 다음과 같은 에러가 뜨는 경우가 있다: ```bash warning: CRLF will be replaced by LF in some/file

blog.jaeyoon.io

git config --global core.autocrlf true

 


non-fast-forward 에러

$ git push -u project master
To http://00.000.0.000:8090/project.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'http://00.000.0.000:8090/project.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

원격 분기의 변경 내용을 로컬로 변경한 내용과 페치하고 병합하여 이 문제를 해결할 수 있습니다.

$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin YOUR_BRANCH_NAME
# Merges updates made online with your local work

또는 두 명령을 한 번에 모두 수행하는 데만 git pull을 사용할 수 있습니다.

$ git pull origin YOUR_BRANCH_NAME
# Grabs online updates and merges them with your local work

참고

https://docs.github.com/ko/get-started/using-git/dealing-with-non-fast-forward-errors


fatal: refusing to merge unrelated histories

git pull origin mybranch --allow-unrelated-histories

이 명령 옵션은 이미 존재하는 두 프로젝트의 기록(history)을 저장하는 드문 상황에 사용된다고 한다. 즉, git에서는 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 때 기본적으로 거부하는데, 이것을 허용해 주는 것이다.

참고

https://gdtbgl93.tistory.com/63

 


 Already up to date

alreay up to date 라면서 pull 안 될 때

$ git fetch --all
$ git reset --hard origin/master


git reset :  HEAD의 포인터를 특정 위치로 옮기는 명령어
--hard 옵션 :  이전 커밋으로 돌아가기. 그 커밋 이후에 내용들은 삭제됨.
--mixed 옵션 : 커밋을 이동함. 변경 이력이 모두 삭제되지만 스테이지에 코드가 남아있음. 이 코드를 add 후 커밋하면 됨.
--soft 옵션 :  mixed 옵션과 같지만 이미 스테이징 되어있음. 이 말은, add 없이 바로 커밋하면 된다~~

https://chanos.tistory.com/entry/GIT-git-pull-%EC%8B%9C-merge-%EC%98%A4%EB%A5%98-%EB%B0%9C%EC%83%9D%ED%96%88%EC%9D%84-%EB%95%8C-%EA%B0%95%EC%A0%9C%EB%A1%9C-%EB%8D%AE%EC%96%B4%EC%93%B0%EB%8A%94-%EB%B0%A9%EB%B2%95-git-fetch-reset-pull

반응형

+ Recent posts