레이블이 GIT인 게시물을 표시합니다. 모든 게시물 표시
레이블이 GIT인 게시물을 표시합니다. 모든 게시물 표시

2023년 8월 29일 화요일

git rejected error(feat. cherry-pick)

 문제


아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다.


push에선 remote와 다르니 당연히 pull을 진행해라고 하지만


로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성)


해결하려면 다음 방법을 쓰면 된다.



현재 실패한 상황 기준으로

1. git branch temp를 만들어 백업을 만든다.

2. git push origin temp 해서 remote에 백업을 올린다.

3. 다시 작업할 브랜치로 checkout 한다.

4. git fetch --all #remote에 있는 내 최신화된 저장소 정보를 받아온다.

5. git reset --hard origin/{작업브랜치} # origin/{작업브랜치} 의 commit 상황을 hard하게(강제로) 덮어씌운다

#자동 병합이 안된다면 다시 수동 병합 후 저장->add->commit 까지 평소처럼 진행

6. git log --branches --oneline # temp브랜치의 아이디를 확인

7. git cherry-pick [아이디7자리] #명령어를 입력하면 commit을 가져오면서 충돌이 있던 파일도 자동으로 병합해줌

#자동 병합이 안된다면 다시 수동 병합 후 저장->add->commit 까지 평소처럼 진행

8. git log 명령어로제대로 된지 확인

9. 성공적으로 잘 적용 됫다면 git push명령어로 remote에 적용하고 마무리!

2022년 9월 28일 수요일

git upload

 



git 업로드

서버와 다를상황(로컬에서 작업했을때)

git add .
git commit -m
git push 에서 에러남

에러가 난다(서버의 변경사항이 있다)
일단 커밋을 취소하고 stash해야함

git reset --soft HEAD^
git stash
git pull
git stash pop

여기서 충돌이 있으면 pop에서도 에러가 남

pop에러가나면
git reset HEAD origin/master

풀어준다음
git add . 아니면 git add [file]

그리고 git status 확인해주고

다시 commit하고 push 해주면 됨
git commit -m "변경이력저장"
git push -u origin master







2022년 4월 20일 수요일

git history를 통해 과거 commit 파일 가져오기


 history를 누르고 커밋이력을 확인해서 원하는 커밋에 있는 파일을 가져온다~






history가 안보인다면

branch를 클릭해서 바꿔보자


2022년 4월 11일 월요일

Upload your unity project to gitlab(gitlab에 유니티 프로젝트 올리기)




gitlab에 유니티 프로젝트 올리기
Upload your unity project to gitlab


1. 주소창에 gitlab.com 입력합니다.
 (Enter gitlab.com in the address bar.)



2. gitlab에서 회원가입을 하고 로그인을 합니다.
(기존 구글회원가입이 되어있어 저는 구글로 했습니다.)
Register as a member in gitlab and log in.
(I have already registered as a Google member, so I used Google.)




3.New project 아이콘 클릭
(Click the New project icon)






4.빈프로젝트 생성
(Create an empty project)



5. 빈 프로젝트 이름 설정
(Set empty project name)



6.클론 클릭후 HTTPS 저장(Ctrl+C)
(Click Clone and save HTTPS (Ctrl+C))




7.아무 폴더에서 git Bash Here클릭
(Click git Bash Here in any folder)



8.git clone 명령어+복사한 HTTPS 주소 입력(shift+insert누르면 붙여넣기됨)
(git clone command + Enter the copied HTTPS address (press shift + insert to paste))



9.명령어 입력후 해당 저장소 폴더 생성되는것 확인
(Check that the storage folder is created after entering the command)

10.폴더안에 .git만 복사하거나 잘라내거나 하기
(Copying or cutting only .git in the folder)

11.원하는 UnityProject경로에 붙여넣고 해당 경로에서 다시 git bash로 터미널 열기
(Paste it in the desired UnityProject path and open the terminal again with git bash from that path)

12. 해당 경로에 .gitignore 파일도 추가(필수는 아님)
(필요없는 파일은 안올리는거라고 보시면됩니다)
Also add the .gitignore file to that path (not required)
(You can think of it as not uploading files you don't need)
Unity.gitignore DownLoad Here



13. 터미널에 명령어 순서대로 입력
git status로 확인
git add .
git commit -m "원하는 주석"
git push -u origin main

확인 끝~

(Enter the command sequence in the terminal
check with git status
git add .
git commit -m "any comment you want"
git push -u origin main

Confirmation done~)































 

2022년 4월 4일 월요일

2021년 4월 21일 수요일

git rebase 사용법(commit 삭제)

 1. git rebase -i HEAD ~ (원하는 숫자)


그러면 해당하는 커밋들과 함께 vi 창이 나온다 (숫자 맞지 않으면 에러~)




pick 7e298ab 도면정보 시스템 중간정도 완성
pick f89f914 버닝  세이더 삭제 한거 이름 변경함

# Rebase c84faf8..f89f914 onto c84faf8 (2 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everythingthe rebase will be aborted.
#

이런식으로 명령어들과 함께 현재 수정할 커밋들이 나온다



예를들어 이름을 바꾸고 싶으면

pick 7e298ab 도면정보 시스템 중간정도 완성
pick f89f914 버닝  세이더 삭제 한거 이름 변경함

에서

pick 7e298ab 도면정보 시스템 중간정도 완성
r f89f914 버닝  세이더 삭제 한거 이름 변경함

이런식으로 변경하고 :wq를 실행하면 새로운 해당하는 vi창이 새로 열린다

(수정은 i를 누르고 원하는곳을 변경하면 됨)




열린 vi는 다음과 같다

버닝  세이더 삭제 한거 이름 변경함

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date:      Thu Apr 22 15:16:37 2021 +0900
#
# interactive rebase in progress; onto c84faf8
# Last commands done (2 commands done):
#    pick 7e298ab 도면정보 시스템 중간정도 완성
#    reword f89f914 버닝  세이더 삭제 한거 이름 변경함
# No commands remaining.
# You are currently editing a commit while rebasing branch 'master' on 'c84faf8'.
#
# Changes to be committed:
#       deleted:    Assets/BurningShader/Assets.meta
#       deleted:    Assets/BurningShader/Assets/Audio.meta
#       deleted:    Assets/BurningShader/Assets/Audio/sfx_Burning.wav
#       deleted:    Assets/BurningShader/Assets/Audio/sfx_Burning.wav.meta
#       deleted:    Assets/BurningShader/Assets/Materials.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_01_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_01_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_02_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_02_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_03_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_03_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_04_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_build_storage_04_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_logpile_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_logpile_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_plank_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_plank_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_wall_logs_met.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/Metallic/mat_wall_logs_met.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_Burn_Slab.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_Burn_Slab.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_01.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_01.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_02.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_02.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_03.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_03.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_04.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_build_storage_04.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_logpile.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_logpile.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_plank.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_plank.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_wall_logs.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Buildings/mat_wall_logs.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_embers.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_embers.mat.meta
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_fire.mat
#       deleted:    Assets/BurningShader/Assets/Materials/Particles/mat_fire.mat.meta


이 부분에서 이름을 변경하고 :wq로 저장하면 완료!



삭제하는 동시에 파일도 최신 master 커밋으로 돌아옴!





2021년 2월 1일 월요일

unity git 올릴때 필요없는 파일 제외하기

 https://www.gitignore.io/


사이트에서 

visualStudio, windows를 입력하면 전부다 긁어서 *.gitignore 파일 을 만들면 된다


그냥 이거 긁어서 .gitignore 확장자로 만들면됩니다.


# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
[Ll]ogs/
[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
[Mm]emoryCaptures/

# Recordings can get excessive in size
[Rr]ecordings/

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
[Aa]ssets/[Ss]treamingAssets/aa.meta
[Aa]ssets/[Ss]treamingAssets/aa/*

2020년 9월 11일 금요일

[gitlab] 깃랩 _ 로컬저장소의 파일 새 프로젝트로 올리기

 로컬저장소의 파일 새 프로젝트로 올리기

1. 프로젝트가 있는 디렉터리로 이동하기

2. 초기설정

//아이디 닉네임 설정
$ git config --global user.name "gitlab닉네임"

$ git config --global user.email "gitlab이메일"

3. init하기 

$ git init

4. remote 생성

ejdrma@gmail.com

https://gitlab.com/dooo3/(새로만들이름)

git remote add origin https://gitlab.com/userName/(만들고싶은 프로젝트 이름)


https:// 부분은 gitlab에서 HTTP를 복사하여 넣어줍니다

origin이란 이름의 remote를 생성합니다


5. 현재 디렉터리 add, commit

//현재 디렉터리 모두 내용 모두 add하기
$ git add .
//commit 

$ git commit - "init"


6. push

$ git push -u origin master

-u 옵션으로 origin master 로 push


https://beomseok95.tistory.com/132

해당 링크에 있는 게시물을 참조하였습니다

2020년 8월 20일 목요일

unity 프로젝트 깃 저장시 팁

 


일단 깃 저장소를 만든뒤

.gitignore 파일을 저장소에 등록하고

Assets

Packages

ProjectSettings

만 저장한다


[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Bb]uilds/
Assets/AssetStoreTools*

# Visual Studio cache directory
.vs/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.opendb

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage

2020년 8월 13일 목요일

git 되돌리기

 git 되돌리기




reset


 Reset은 시계를 다시 맞추는 것입니다.

 돌아 가려는 커밋으로 리파지토리는 재설정되고, 

해당 커밋 이후의 이력은 사라집니다.



git reset --hard [id]


를 하면 commit의 이력이 사라지면서 파일도 전부 변경된다


만약 다시 돌아가고 싶다면(reset을 취소하고싶다면)

$ git reflog

를 이용해서 나오는 id를 참고해서 돌아가야한다 (git log --oneline에는 더이상 나오지않음)






reset을 해도 원격저장소에는 적용되지않는다


원격저장소에도 적용하고 싶다면


git push -f origin master를 해서 적용하면된다


만약 에러가 뜬다면 

저장소의 셋팅에서 


Setting - > Repository -> Protected Branches의

master에 Roles 부분을 Maintainers 에서 -> Developers + Maintainers 로 변경하면 된다



2020년 4월 20일 월요일

작업 중간에 pull 받기 위한 순서

작업 중간에 pull 받기 위한 순서


1. 현재 상태를 stash에 저장한다.

git stash

2. 원격 저장소 데이터를 로컬에 pull 받는다

git pull

3. stash에 저장되어 있는 변경사항을 로컬에 다시 가져온다

git stash pop


주의!!. 다음에 push할때 stash pop 했는지 꼭 확인해야한다. 아니면 stash에 저장된 사항은 원격 저장소에 push 할 수 없다

~~ 시간날때 브런치를 이용해서 하는걸 실험해보자~.

git add . 은 untrackedfile까지 모두 추적함

git add -u 옵션을 사용하면 untrackedfile은 commit 목록에 올리지 않는다
























2020년 4월 17일 금요일

remote: HTTP Basic: Access denied

계정정보입력할때 잘못 입력하면 나옴
이때는 관리자 권한으로 아래 명령을 실행한다.
git config --system --unset credential.helper
를 실행하면 된다

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...