깃허브 치트 시트
깃허브 치트 시트
프로젝트 시작
분기된 프로젝트 또는 기존 프로젝트
cd ~/GITHUB/manolosolalinde
git clone <url>
git config credential.helper store
원격 저장소 생성
cd ~/GITHUB/manolosolalinde
mkdir <reponame>
# deprecated: curl -u '[email protected]' -d '{"name":"'"${PWD##*/}"'"}' https://api.github.com/user/repos
# token from https://github.com/settings/tokens
curl -i -H "Authorization: token <GET FROM https://github.com/settings/tokens> " \
-d '{
"name": "'"${PWD##*/}"'",
"description": "This is your first repository",
"homepage": "https://github.com",
"private": true,
"has_issues": true,
"has_projects": true,
"has_wiki": true
}' \
https://api.github.com/user/repos
echo "# TODO Readme" >> README.md
로컬 리포지토리를 시작하고 첫 번째 커밋을 푸시합니다.
git init
git config credential.helper store
git add .
git commit -m "first commit"
git remote add origin https://github.com/manolosolalinde/${PWD##*/}.git
git push -u origin master
로컬 저장소 변경:
git remote show origin
git remote set-url origin https://github.com/manolosolalinde/${PWD##*/}.git
모든 기록 삭제
cd <localrepofolder>
rm -rf .git
Start Repository (as above)
git push -u --force origin master
전체 원격 저장소 삭제
cd <REPONAME>
curl -X DELETE -H 'Authorization: token replacewithtoken' https://api.github.com/repos/manolosolalinde/${PWD##*/}
삭제 인증 토큰 가져오기
https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization
curl -v -u '[email protected]' -X POST https://api.github.com/authorizations -d '{"scopes":["delete_repo"], "note":"token with delete repo scope"}' >> token.json
초기 글로벌 설정
git config --global user.name "Manuel Solalinde"
git config --global user.email "[email protected]"
UNTRACK FILES는 이미 .gitignore를 기반으로 git 저장소에 추가되었습니다.
git rm -r --cached .
git add .
git commit -m ".gitignore fix"
rm is the remove command
-r will allow recursive removal
--cached will only remove files from the index. Your files will still be there.
The . indicates that all files will be untracked.
You can untrack a specific file with git rm --cached foo.txt (thanks @amadeann).
일반 목적
http://www.cheat-sheets.org/saved-copy/github-git-cheat-sheet.pdf
git config --global user.name "Manuel Solalinde"
\
커밋 트랜잭션에 첨부할 이름을 설정합니다.
git remote add origin [email protected]:manolosolalinde/newrepo.git
\
기존 저장소에 대한 원본 추가
git config --global user.email "[email protected]"
\
커밋 트랜잭션에 첨부할 이메일을 설정합니다.
git init [project-name]
\
지정된 이름으로 새 로컬 저장소를 생성합니다.
git clone [url]
\
프로젝트 및 전체 버전 기록을 다운로드합니다.
git status
\
커밋할 모든 새 파일 또는 수정된 파일을 나열합니다.
git add [file]
\
버전 관리를 위해 파일을 스냅샷합니다.
git reset [file]
\
파일을 언스테이징하지만 내용은 보존합니다.
git diff
\
아직 준비되지 않은 파일 차이점 표시
git diff --staged
\
스테이징과 마지막 파일 버전 간의 파일 차이점 표시
git commit -m "[descriptive message]"
\
버전 기록에 파일 스냅샷을 영구적으로 기록
git branch
\
현재 저장소의 모든 로컬 분기를 나열합니다.
git branch [branch-name]
\
새 분기를 만듭니다.
git checkout [branch-name]
\
지정된 분기로 전환하고 작업 디렉토리를 업데이트합니다.
git merge [branch]
\
지정된 브랜치의 히스토리를 현재 브랜치에 결합합니다.
git branch -d [branch-name]
\
지정된 분기를 삭제합니다.
태그
태그에 대한 추가 정보: https://git-scm.com/book/en/v2/Git-Basics-Tagging
git tag -a v1.4 -m "my version 1.4"
\
태그 생성
git tag
모든 태그 나열
git tag -l "v1.8.5*"
\
v1.8.5
v1.8.5-rc0
v1.8.5-rc1
해당 이름을 가진 모든 태그 확인
git show v1.4
\
태그 정보 표시
git log --graph --decorate --oneline
지점 내역 정보 표시
여러 버전의 프로젝트 작업
흥미로운 게시물: https://stackoverflow.com/questions/12153405/how-to-manage-multiple-versions-of-a-project
예시
제 경우에는 기본이 동일하지만 각 버전마다 몇 가지 기능이 다른 동일한 소프트웨어의 두 가지 버전이 있습니다.
그래서 두 개worktree
를 만듭니다. 즉, 마스터 옆에 두 개의 관련 장기 실행 분기를 만듭니다.
$git worktree add -b version-silver ..\version-silver master
$git worktree add -b version-gold ..\version-gold master
그럼 나는 :
$git branch
master # base stuff here
version-silver # some normal features
version-gold # some better features
하나의 저장소가 있지만 위의 각 분기에 대해 서로 옆에 3개의 개별 폴더가 있습니다. 그리고 마스터에서 공통 변경을 수행하십시오. 그런 다음 다른 두 버전과 병합하십시오.
cd master
vim basic.cpp
git add .
git commit -m "my common edit on basic.cpp"
cd ..\version-silver
vim silver.cpp
git add .
git commit -m "my specific edit on silver.cpp"
git merge master # here i get the basic.cpp latest changes for silver project
cd ..\version-gold
git merge master # here i get the basic.cpp latest changes for gold project
브랜치 A에서 브랜치 B로 마지막 커밋의 변경 사항만 복사
Stackoverflow - Commit to multiple branches at the same time
git checkout A
git commit -m "Fixed the bug x"
git checkout B
git cherry-pick A
문제
vscode 및 자격 증명 문제
https://stackoverflow.com/questions/34400272/visual-studio-code-always-asking-for-git-credentials
다음과 같이 자격 증명을 설정할 수 있어야 합니다.
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
다음과 같이 원격 URL을 얻을 수 있습니다.
git config --get remote.origin.url
내 문제는 다음으로 해결되었습니다.
cd "C:\Program Files\Git\mingw64\libexec\git-core"
git-credential-manager.exe uninstall
Reference
이 문제에 관하여(깃허브 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/manolosolalinde/github-cheat-sheet-3ifo
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
cd ~/GITHUB/manolosolalinde
git clone <url>
git config credential.helper store
cd ~/GITHUB/manolosolalinde
mkdir <reponame>
# deprecated: curl -u '[email protected]' -d '{"name":"'"${PWD##*/}"'"}' https://api.github.com/user/repos
# token from https://github.com/settings/tokens
curl -i -H "Authorization: token <GET FROM https://github.com/settings/tokens> " \
-d '{
"name": "'"${PWD##*/}"'",
"description": "This is your first repository",
"homepage": "https://github.com",
"private": true,
"has_issues": true,
"has_projects": true,
"has_wiki": true
}' \
https://api.github.com/user/repos
echo "# TODO Readme" >> README.md
git init
git config credential.helper store
git add .
git commit -m "first commit"
git remote add origin https://github.com/manolosolalinde/${PWD##*/}.git
git push -u origin master
git remote show origin
git remote set-url origin https://github.com/manolosolalinde/${PWD##*/}.git
cd <localrepofolder>
rm -rf .git
Start Repository (as above)
git push -u --force origin master
cd <REPONAME>
curl -X DELETE -H 'Authorization: token replacewithtoken' https://api.github.com/repos/manolosolalinde/${PWD##*/}
curl -v -u '[email protected]' -X POST https://api.github.com/authorizations -d '{"scopes":["delete_repo"], "note":"token with delete repo scope"}' >> token.json
git config --global user.name "Manuel Solalinde"
git config --global user.email "[email protected]"
git rm -r --cached .
git add .
git commit -m ".gitignore fix"
rm is the remove command
-r will allow recursive removal
--cached will only remove files from the index. Your files will still be there.
The . indicates that all files will be untracked.
You can untrack a specific file with git rm --cached foo.txt (thanks @amadeann).
$git worktree add -b version-silver ..\version-silver master
$git worktree add -b version-gold ..\version-gold master
$git branch
master # base stuff here
version-silver # some normal features
version-gold # some better features
cd master
vim basic.cpp
git add .
git commit -m "my common edit on basic.cpp"
cd ..\version-silver
vim silver.cpp
git add .
git commit -m "my specific edit on silver.cpp"
git merge master # here i get the basic.cpp latest changes for silver project
cd ..\version-gold
git merge master # here i get the basic.cpp latest changes for gold project
git checkout A
git commit -m "Fixed the bug x"
git checkout B
git cherry-pick A
git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git
git config --get remote.origin.url
cd "C:\Program Files\Git\mingw64\libexec\git-core"
git-credential-manager.exe uninstall
Reference
이 문제에 관하여(깃허브 치트 시트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/manolosolalinde/github-cheat-sheet-3ifo텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)