반응형

decozip-21d71bbok-rumane-s-projects.vercel.app

21d71bbok특정 배포 인스턴스의 해시

반응형
반응형

git log -5(최근 커밋 5개 확인)로 보면 클로드가 한 커밋은 이렇게 남음

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

git hub에서는 클로드와 config name으로 설정한 커밋터가 공동 커밋한 것처럼 표시됨

반응형
반응형

git commit할때는 Windows 자격증명 없어도 됨

근데 commit할때 무조건 name/email은 필요함 - 이건 git config user.name, git config user.email로 설정확인가능

그리고 git log -1 명령어를 쓰면 최근  commit에 대해 어떤 name/email로 커밋되었는지 확인가능함

반응형
반응형

git log --oneline -5

2e2dae3 (HEAD -> main) ad.html 슬라이드 16,18-22 삭제 (16슬라이드로 축소)
d962011 (origin/main, origin/HEAD) Decozip 홍보 이미지 HTML 추가
48c3b03 presentation.html -> ad.html
b93a3e6 프레젠테이션 HTML public 폴더에 추가
8b3f1e8 .claude/ 폴더 gitignore 추가

git status

 

git commit -a

git add 하지 않고 바로 커밋가능, but 새로추가된 파일이 있다면 따로 add해줘야함

 

git commit --amend

그전 커밋에 붙여서 커밋

 

git tag myTag 9fceb02: 특정 커밋에 태그달기

git push --tag: remote에 push

 

git checkout 가고싶은브랜치

 

git merge 과정

1 git checkout main main 으로 이동 (병합 받을 쪽)
2 git pull 원격 main 최신화
3 git merge point_incentive point_incentive 의 커밋을 main 으로 가져옴
4 git push origin main main 원격에 반영
5 git branch -d point_incentive ← 이게 찾으시던 그 명령. 로컬 브랜치 삭제
6 git push origin --delete point_incentive 원격(GitHub)의 브랜치도 삭제

git merge와 동일한 효과내는 것, git rebase (=git cherry-pick을 여러번 하는 것) 

git rebase, git cherry-pick하면 commit history가 더 깔끔

반응형
반응형

상담AI개발 배포시 클로드에서 자동으로 git을 만들어 올려주었었음.

다시 git repository를 생성해서 업로드하는 작업을 하니 history들이 충돌하여 문제가 된듯

 

1
 refusing to merge unrelated histories
cs

 

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

 

1
git pull origin 브런치명 --allow-unrelated-histories
cs

 

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

반응형
반응형

ize of 50.00 MB

remote: error: Trace: 198fe3cf1543113418821848439ef44b7c4a11d26628df5e74a8b2b87d17ee9c

remote: error: See https://gh.io/lfs for more information.

remote: error: File .claude/projects/c--Users-kateb-tooktak/bf97dd9c-b938-4fbb-93d7-0253ebd8e538.jsonl is 128.21 MB; this exceeds GitHub's file size limit of 100.00 MB

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

To https://github.com/poorhearte/chatAI.git

 ! [remote rejected] main -> main (pre-receive hook declined)

error: failed to push some refs to 'https://github.com/poorhearte/chatAI.git'

반응형
반응형
  • remote branch: 말 그대로 진짜 remote에 있는 거
    • git remote show origin했을 때 나오는 remote branch목록은 진짜 remote인듯, 실시간으로 보여주므로
  • remote tracking branch: remote를 local에 복사해놓은 복사본, 일종의 캐슁이라고 생각할수도 있음
    • git branch -a했을 때 remotes/origin/master로 나오는것들인듯, git fetch나 git remote update하기 전에는 remote에 새로생긴 branch를 보여주지 않는것으로 보아
  • tracking branch: remote tracking을 따라가면서 관리하는 local branch
  • tracking안하는 branch:그냥 local에 만들기만 하고 연결 안시켜놓은애

 

Merge branch 'dev2nd' of http://10.97.24.150:8099/csPortalGroup/csportalfront into dev2nd 
git pull 안받고 commit한 상태에서 pull하면 merge가 되는데 그때 위 커밋메세지로 된  merge commit이 자동생성됨

 

! [rejected]        master     -> origin/master  (non-fast-forward)
remote branch와 remote tracking branch는 항상 fast-forward관계를 유지해야 하는데 그게 깨진 상태에서 git fetch하면 위와 같은 에러 메세지가 나옴

 

git remote update = git fetch --all 과 동일한 효과라고 함

git fetch는 git pull/push와는 달리 tracking하는 전체 branch의 remote와 sync를 맞춤, 근데 여기서 tracking한다는 개념이 아직 헷갈림

 

git pull/push는 특정 branch하나랑만 이루어지는 작업이며 어떤 branch와 작업이 이루어지는지 생략이 된 상태, 어떻게 생략이 되었는지 알기 위해서는 git remote show origin 해봐서 pull/push작업에 대해 각각 어떻게 연결(configured for라고 표현됨)되었는지 알수 있음

참고) remote tracking branch로도 checkout 가능한지 확인해보려고 git checkout origin/master했더니 detached HEAD상태가 됨

 

https://devcamus.tistory.com/9

 

[git] 원격저장소 업데이트 명령어 3가지의 차이점 비교 -git remote update , git fetch , git pull 의 차이.

이전 포스트를 작성하면서 궁금한 점이 생겨서 곧바로 찾아보았다. [git] 새로 만든 원격 브랜치로 checkout이 안될 때. - error: pathspec did not match any file(s) known to git 해결 상황 : 기존 프로젝트를 리팩

devcamus.tistory.com

 

반응형
반응형
반응형
반응형

dev-version이라는 branch를 생성하면서 그 branch 하나만 받아짐, branch가 많다면 그냥 git clone보다 속도 더 빠른듯

그런데 git config -l로 확인해보면 remote.origin.fetch=+refs/heads/[branch]:refs/remotes/origin/[branch]로 되어 있음, 그러면 다른 branch 못 받으므로 remote.origin.fetch+=refs/heads/*:refs/remotes/origin/*로 고쳐줘야 함

그리고 나서 git remote update해야지 다른 branch도 확인가능함, git remote update하기전에는 git branch -a 해봐도 branch하나만 보임

반응형
반응형
fast-forward 사전적 의미로는, (테이프를 틀지 않고) 앞으로 감다, 빨리감다, 되감다, 과거로 돌아가다... 
"fast forward"는 이야기에서 중요하지 않은 부분은 빠르게 생략하고 화자가 말하고 싶은 부분부터 계속 진행할 때 사용하는 표현이에요. 이 표현은 원래 테이프나 VCR 재생기에서 노래나 영화를 생략하기 위한 "fast forward (빨리 감기)" 버튼에서 유래되었어요.

git pull을 할때, pull한 결과가 Fast-forward라는 메세지가 뜰 때가 있음

Fast-forward라는 것은 한쪽에서는 수정이 되었지만 한쪽은 전혀 수정이 없기 때문에 merge할 때 새로운 병합된 커밋이 생성되는 것이 아니라 그냥 포인터의 위치만 더 최신으로 옮겨지는 개념

양쪽에서 수정을 했다면 새로운 커밋번호가 생성이 될 것임, but Fast-forward시에는 그렇지 않고 head가 이동만 하는 것이므로 새로운 커밋번호 자체가 생성되지 않음

  • fast-forward merge: 충돌날일 없음
  • 3-way merge: fast-forward가 아니면 3-way, 충돌가능성 있음
반응형

+ Recent posts