728x90
반응형

개발관련 559

Git 커밋의 출처 찾기

질문 : Git 커밋의 출처 찾기 SHA-1 해시 값이 주어지면 커밋이 어떤 분기에서 오는지 알아내는 방법이 있습니까? Ruby Grit을 사용하여이 작업을 수행하는 방법을 알려 주시면 보너스 포인트를드립니다. 답변 Dav는 정보가 직접 저장되지 않는다는 것이 맞지만, 그것이 당신이 알 수 없다는 것을 의미하지는 않습니다. 다음은 수행 할 수있는 몇 가지 작업입니다. 커밋이 있는 브랜치를 찾습니다. git branch -a --contains 이것은 그들의 역사에서 주어진 커밋을 가진 모든 지점을 알려줄 것입니다. 커밋이 이미 병합 된 경우 분명히 유용하지 않습니다. 재로그 검색 커밋이 생성 된 리포지토리에서 작업하는 경우 해당 커밋 행에 대한 reflog를 검색 할 수 있습니다. 90 일이 지난 리플 ..

개발관련/Git 2022.03.29

git stash 적용 버전

질문 : git stash 적용 버전 2 개의 브랜치가 있습니다. 마스터 | 디자인 디자인 작업을하면서 저는 은닉을하고 마스터로 전환하고 약간의 조정을했습니다. 디자인으로 다시 전환하고 디자인 브랜치의 모든 변경 사항을 잃을 때만 stash apply 나는 이것을 지우거나 제거하지 않았기 때문에 내 모든 작업이 숨겨져 있기를 바랍니다. 숨김 목록을 작성하면 4 개의 결과가 나타납니다. stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email stash@{2}: WIP on design: eb65635... Email Adju..

개발관련/Git 2022.03.29

삭제 된 줄을 "git blame" 하는 방법

질문 : 삭제 된 줄을 "git blame"하려면 어떻게해야합니까? git blame 은 수정 및 추가 된 줄에 적합하지만 특정 이전 커밋에 있던 줄이 결국 삭제 된시기를 어떻게 알 수 있습니까? bisect 라고 생각하고 있지만 더 편리한 것을 바라고 있었다. (당신이하기 전에 :이 경우, 난 그냥 한 git log -p 하고 코드 라인을 위해를 통하여 검색의 (a) 어떤 바보가 그냥 그 바보했다) B (이전 커밋에서 중요한 라인을 삭제했다.) 답변 줄의 내용을 알고 있다면 다음과 같은 이상적인 사용 사례입니다. git log -S path/to/file 해당 문자열의 인스턴스를 도입하거나 제거하는 커밋을 보여줍니다. 정규 표현식과 똑같은 일을 -G 도 있습니다! 자세한 내용은 man git-log 참..

개발관련/Git 2022.03.29

git "Commit your changes or stash them before you can merge"

질문 : "병합하기 전에 변경 사항을 커밋하거나 숨길 수 있습니다"라고 말하는 git을 어떻게 해결합니까? 내 로컬 컴퓨터에서 몇 가지 업데이트를 수행하고 원격 저장소로 푸시 한 다음 변경 사항을 서버로 가져 오려고하는데 메시지가 표시됩니다. error: Your local changes to the following files would be overwritten by merge: wp-content/w3tc-config/master.php Please, commit your changes or stash them before you can merge. 그래서 나는 달렸다. git checkout -- wp-content/w3tc-config/master.php 다시 시도했는데 같은 메시지가 나타납니다..

개발관련/Git 2022.03.29

Bash에 변수가 설정되어 있는지 확인하는 방법

질문 : Bash에 변수가 설정되어 있는지 확인하는 방법은 무엇입니까? Bash에 변수가 설정되어 있는지 어떻게 알 수 있습니까? 예를 들어, 사용자가 함수에 첫 번째 매개 변수를 제공했는지 어떻게 확인합니까? function a { # if $1 is set ? } 답변 (통상) 올바른 방법 if [ -z ${var+x} ]; then echo "var is unset"; else echo "var is set to '$var'"; fi 여기서 ${var+x} 는 var 가 설정되지 않은 경우 아무것도 평가하지 않는 매개 변수 확장 이고 그렇지 않은 경우 x 따옴표 삽입 따옴표를 생략 할 수 있습니다 ( "${var+x}" 대신 ${var+x} 라고 말할 수 있음).이 구문과 사용법은 따옴표가 필요없는..

개발관련/other 2022.03.29

[C++] sizeof (x ++)가 x를 증가시키지 않을 때

질문 : sizeof (x ++)가 x를 증가시키지 않는 이유는 무엇입니까? 다음은 dev C ++ 창에서 컴파일 된 코드입니다. #include int main() { int x = 5; printf("%d and ", sizeof(x++)); // note 1 printf("%d\n", x); // note 2 return 0; } 노트 1 을 실행 한 후 x 가 6이 될 것으로 예상합니다. 그러나 출력은 다음과 같습니다. 4 and 5 x 가 노트 1 이후에 증가하지 않는 이유를 누구든지 설명 할 수 있습니까? 답변 C99 표준에서 (강조는 내 것임). 6.5.3.4/2 sizeof 연산자는 피연산자의 크기 (바이트 단위)를 산출하며, 표현식 또는 유형의 괄호로 묶인 이름 일 수 있습니다. 크기는 ..

개발관련/other 2022.03.29

[MacOs] Git 저장소에서 .DS_Store 파일을 제거하는 방법

질문 : Git 저장소에서 .DS_Store 파일을 제거하려면 어떻게해야합니까? Git 저장소에서 이러한 성가신 Mac OS X .DS_Store 답변 저장소에서 기존 파일을 제거하십시오. find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch 다음 줄을 추가하십시오. .DS_Store .gitignore 파일에 추가합니다 (또는 아직없는 경우 파일을 만듭니다). 최상위 디렉토리에서 다음 명령을 사용하여 쉽게 수행 할 수 있습니다. echo .DS_Store >> .gitignore 그런 다음 파일을 저장소에 커밋합니다. git add .gitignore git commit -m '.DS_Store banished!' 출처 : https..

개발관련/Git 2022.03.29

병합 충돌을 일으키는 git stash pop 실행 취소 명령어

질문 : 병합 충돌을 일으키는 git stash pop 실행 취소 나는 내가 오래된 토픽 브랜치에 있다는 것을 깨닫지 못하고 내 코드베이스를 변경하기 시작했다. 그것들을 옮기기 위해 나는 그것들을 숨긴 다음 master의 새로운 브랜치에 적용하고 싶었습니다. git stash pop 을 사용하여 진행중인 작업 변경 사항을이 새 분기로 전송하고 새 분기를 만들기 전에 새 변경 사항을 마스터로 가져 오지 않았다는 사실을 잊었습니다. 이로 인해 병합 충돌이 많이 발생하고 변경 사항이 정리되지 않았습니다 (팝을 사용했기 때문에). 새 브랜치를 올바르게 다시 생성 한 후 숨김 변경 사항을 복구하여 올바르게 적용하려면 어떻게해야합니까? 답변 결과적으로 Git은 깔끔하게 적용되지 않으면 은닉 물을 떨어 뜨리지 않을만..

개발관련/Git 2022.03.29

Git 푸시할 때 로그인을 생략하는 방법 (ssh 활용)

질문 : Git 푸시에는 사용자 이름과 비밀번호가 필요합니다. 내 GitHub 계정에서 내 PC로 Git 저장소를 복제했습니다. 내 PC와 노트북 모두에서 작업하고 싶지만 하나의 GitHub 계정으로 작업하고 싶습니다. 내 PC를 사용하여 GitHub로 푸시하거나 가져 오려고 할 때 사용자 이름과 암호가 필요하지만 랩톱을 사용할 때는 필요하지 않습니다! origin 과 상호 작용할 때마다 사용자 이름과 암호를 입력하고 싶지 않습니다. 내가 여기서 무엇을 놓치고 있습니까? 답변 일반적인 원인은 SSH 대신 기본값 (HTTPS)을 사용하여 복제하는 것입니다. 저장소로 이동하여 "복제 또는 다운로드"를 클릭 한 다음 URL 필드 위의 "SSH 사용"버튼을 클릭하고 다음과 같이 원본 원격의 URL을 업데이트하여..

개발관련/Git 2022.03.26

GitHub와 Gist의 차이점

질문 : GitHub와 Gist의 차이점은 무엇입니까? Gist의 목적은 무엇이며 GitHub를 사용한 일반 코드 공유 / 유지 관리와 어떻게 다른가요? 답변 GitHub는 전체 사이트입니다. 요지는 해당 사이트에서 제공되는 특정 서비스, 즉 pastebin과 유사한 코드 조각입니다. 그러나 모든 것은 git 개정 제어에 의해 구동되므로 요점은 완전한 개정 내역도 보유하고 있습니다. 출처 : https://stackoverflow.com/questions/6767518/what-is-the-difference-between-github-and-gist

개발관련/Git 2022.03.26

Git 커밋에서 파일을 제거 하는 방법

질문 : Git 커밋에서 파일 제거 나는 Git을 사용하고 있으며 git commit -a 나중에 파일이 실수로 커밋에 추가되었음을 발견했습니다. 마지막 커밋에서 파일을 제거하려면 어떻게해야합니까? 답변 이것은 실수로 커밋 된 파일을 변경 사항을 취소하지 않고 이전 커밋에서 스테이징 영역으로 다시 이동하는 문제이기 때문에 여기에 다른 답변이 잘못되었다고 생각합니다. 이것은 Paritosh Singh이 제안한 것처럼 수행 할 수 있습니다. git reset --soft HEAD^ 또는 git reset --soft HEAD~1 그런 다음 커밋에서 제외하기 위해 원하지 않는 파일을 재설정합니다. git reset HEAD path/to/unwanted_file 이제 다시 커밋하면 동일한 커밋 메시지를 다시 ..

개발관련/Git 2022.03.26

git branch, fork, fetch, merge, rebase 및 clone의 차이점

질문 : git branch, fork, fetch, merge, rebase 및 clone의 차이점은 무엇입니까? Git에서 브랜치, 포크 및 클론의 차이점을 이해하고 싶습니까? git pull 아닌 git fetch 를 수행하는 것은 무엇을 의미합니까? merge 과 비교하여 rebase 는 무엇을 의미합니까? 개별 커밋을 어떻게 함께 스쿼시 할 수 있습니까? 그들은 어떻게 사용되며, 왜 사용되며 무엇을 나타 냅니까? GitHub는 어떻게 계산됩니까? 답변 복제본은 단순히 저장소의 복사본입니다. 표면적으로 그 결과는 다른 저장소에서 소스 코드를 다운로드 svn checkout Subversion과 같은 중앙 집중식 VCS와 Git과 같은 DVCS의 차이점은 Git에서 복제 할 때 실제로 모든 기록 및..

개발관련/Git 2022.03.26

스크립트 파일의 시작 부분에 #! / bin / bash를 넣어야하는 이유

질문 : 스크립트 파일의 시작 부분에 #! / bin / bash를 넣어야하는 이유는 무엇입니까? 나는 전에 Bash 스크립트를 만들었고 처음에는 #!/bin/bash 없이 잘 실행되었습니다. 그것을 넣는 이유는 무엇입니까? 상황이 다를까요? 또한 # 어떻게 발음합니까? 알아 ! "뱅"으로 발음됩니다. #! 명백한? 답변 이것은 규칙이므로 * nix 쉘은 실행할 인터프리터의 종류를 알고 있습니다. 예를 들어, 이전 버전의 ATT는 기본적으로 sh (Bourne 셸)로 설정되었지만 이전 버전의 BSD는 기본적으로 csh (C 셸)로 설정되었습니다. 오늘날에도 (대부분의 시스템이 bash, "Bourne Again Shell"을 실행하는 곳) 스크립트는 bash, python, perl, ruby, PHP ..

개발관련/Linux 2022.03.26

Vim에 텍스트를 붙여 넣을 때 자동 들여 쓰기 끄기

질문 : Vim에 텍스트를 붙여 넣을 때 자동 들여 쓰기 끄기 저는 Vim을 배우기 위해 노력하고 있습니다. 클립 보드에서 내 문서에 코드를 붙여 넣으면 각 새 줄의 시작 부분에 추가 공백이 생깁니다. line line line 자동 들여 쓰기를 끌 수 있다는 것을 알고 있지만 다른 설정이 충돌하거나 (내 .vimrc에서 매우 분명해 보이지만 제거 할 때 중요하지 않은 것 같기 때문에) 작동하지 않습니다. 코드를 붙여 넣을 때 자동 들여 쓰기를 끄고 코드를 작성할 때 여전히 vim 자동 들여 쓰기를 사용하는 방법은 무엇입니까? .vimrc 파일은 다음과 같습니다. set expandtab set tabstop=2 set shiftwidth=2 set autoindent set smartindent set..

개발관련/other 2022.03.26

git 태그 란 무엇이며 태그를 만드는 방법 및 git 원격 태그를 확인하는 방법

질문 : git 태그 란 무엇이며 태그를 만드는 방법 및 git 원격 태그를 확인하는 방법 원격 git 태그를 체크 아웃 할 때 다음과 같은 명령을 사용하십시오. git checkout -b local_branch_name origin/remote_tag_name 다음과 같은 오류가 발생했습니다. error: pathspec `origin/remote_tag_name` did not match any file(s) known to git. git tag 명령을 사용하면 remote_tag_name을 찾을 수 있습니다. 답변 태그는 히스토리에서 특정 커밋 에 레이블을 지정하고 표시하는 데 사용됩니다. 일반적으로 릴리스 지점을 표시하는 데 사용됩니다 (예 : v1.0 등). 태그가 분기와 비슷하게 보일 수 ..

개발관련/Git 2022.03.26

Git 기록에서 커밋 된 코드를 grep (검색)하는 방법

질문 : Git 기록에서 커밋 된 코드를 grep (검색)하는 방법 과거에 파일 또는 파일의 일부 코드를 삭제했습니다. 커밋 메시지가 아닌 콘텐츠에서 grep 할 수 있습니까? 매우 좋지 않은 해결책은 로그를 grep하는 것입니다. git log -p | grep 그러나 이것은 커밋 해시를 즉시 반환하지 않습니다. 나는 git grep 을 사용하여 아무 소용이 없었습니다. 답변 커밋 내용 (즉, 커밋 메시지 등이 아닌 실제 소스 라인)을 검색하려면 다음을 수행해야합니다. git grep $(git rev-list --all) git rev-list --all | xargs git grep 은 "Argument list too long"오류가 발생하면 작동합니다. 검색을 일부 하위 트리 (예 : "lib ..

개발관련/Git 2022.02.01

git에서 별칭 명령을 수행하는 방법

질문 : git에서 별칭 명령을 어떻게 수행합니까? 누군가가 얻은 스크린 캐스트를 봤어 git st git ci 일하다. 내가 그것을 할 때 다른 것을 의미하는지 묻는 오류가 발생합니다. git newb이기 때문에이 작업을 수행하려면 무엇을해야하는지 알아야합니다. 답변 ~/.gitconfig 줄을 추가하면됩니다. [alias] st = status ci = commit -v 또는 git config alias 명령을 사용할 수 있습니다. $ git config --global alias.st status Unix에서 별칭에 공백이 있으면 작은 따옴표를 사용합니다. $ git config --global alias.ci 'commit -v' Windows에서 별칭에 공백이나 명령 줄 인수가 있으면 큰 따옴..

개발관련/Git 2022.02.01

Git에서 태그가 가리키는 커밋을 확인하는 방법

질문 : Git에서 태그가 가리키는 커밋을 확인하는 방법은 무엇입니까? 저장소에 주석이없는 태그가 많이 있고 어떤 커밋을 가리키는 지 알아 내고 싶습니다. 태그와 커밋 SHA를 나열하는 명령이 있습니까? 태그를 확인하고 HEAD를 보는 것은 나에게 너무 힘들어 보입니다. 나는 응답을 통해 내가 실제로 원했던 것은 단순히 태그에 이르는 히스토리를 보는 것임을 깨달았습니다. git log 이면 충분합니다. 답변으로 표시된 답변은 태그 및 커밋 목록을 얻는 데 유용합니다. 약간의 셸 해커를 사용하면이를 SHA + Commit 메시지로 변환 할 수 있다고 확신합니다. 답변 이를 수행하는 한 가지 방법은 git rev-list 입니다. 다음은 태그가 가리키는 커밋을 출력합니다. $ git rev-list -n 1..

개발관련/Git 2022.01.17

빈 Pandas DataFrame을 만든 다음 채우는 방법

질문 : 빈 Pandas DataFrame을 만든 다음 채우시겠습니까? pandas DataFrame 문서에서 시작합니다. http://pandas.pydata.org/pandas-docs/stable/dsintro.html 시계열 종류의 계산에서 값으로 DataFrame을 반복적으로 채우고 싶습니다. 따라서 기본적으로 A, B 열 및 타임 스탬프 행, 모두 0 또는 모두 NaN으로 DataFrame을 초기화하고 싶습니다. 그런 다음 초기 값을 추가하고 이전 행에서 새 행을 계산하는이 데이터를 살펴 row[A][t] = row[A][t-1]+1 정도입니다. 현재 아래와 같은 코드를 사용하고 있지만 다소 추한 것 같고 DataFrame으로 직접 또는 일반적으로 더 나은 방법이 있어야합니다. 참고 : 저는 ..

개발관련/other 2022.01.17

이전 커밋에서 새 Git 브랜치를 생성하는 방법

질문 : 이전 커밋에서 새 Git 브랜치를 어떻게 생성합니까? 중복 가능성 / 더 최근 / 덜 명확한 질문 Git을 사용하여 이전 커밋에서 분기 jzbranch 라는 Git 분기가 있고 이전 커밋 ID : a9c146a09505837ec03b 있습니다. 위에 나열된 정보에서 새 브랜치 justin 답변 git checkout -b NEW_BRANCH_NAME COMMIT_ID 이렇게하면 'NEW_BRANCH_NAME'이라는 새 브랜치가 생성되고 확인됩니다. ( "체크 아웃"은 "지점으로 전환"을 의미) git branch NEW_BRANCH_NAME COMMIT_ID 이것은 체크 아웃하지 않고 새 분기를 만듭니다. 댓글에서 많은 사람들이이 작업을 두 단계로 수행하는 것을 선호하는 것 같습니다 . 두 단계..

개발관련/Git 2022.01.17

'yield return'의 적절한 사용법

질문 : '수익률'의 적절한 사용 yield 키워드는 계속해서 나를 미혹시키는 C #의 키워드 중 하나이며 올바르게 사용하고 있다고 확신 한 적이 없습니다. 다음 두 가지 코드 중 선호되는 코드와 이유는 무엇입니까? 버전 1 : 수익률 사용 public static IEnumerable GetAllProducts() { using (AdventureWorksEntities db = new AdventureWorksEntities()) { var products = from product in db.Product select product; foreach (Product product in products) { yield return product; } } } 버전 2 : 목록 반환 public stati..

개발관련/other 2022.01.17

더 이상 원격 저장소에 없는 로컬 git 태그 제거 하는 방법

질문 : 더 이상 원격 저장소에없는 로컬 git 태그 제거 배포 프로세스의 일부로 git에서 태그를 사용합니다. 때때로 우리는 원격 저장소에서 태그를 제거하여 이러한 태그를 정리하려고합니다. 이것은 매우 간단합니다. 한 사용자가 한 세트의 명령에서 로컬 태그와 원격 태그를 삭제합니다. 두 단계를 결합한 작은 쉘 스크립트가 있습니다. 이제 두 번째 (세 번째, 네 번째, ...) 사용자는 더 이상 리모컨에 반영되지 않는 로컬 태그를 갖게됩니다. 원격 분기가 삭제 된 로컬 추적 분기를 정리하는 git remote prune origin 과 유사한 명령을 찾고 있습니다. 또는 원격 태그를 나열하는 간단한 명령을 사용하여 git tag -l 통해 반환 된 로컬 태그와 비교할 수 있습니다. 답변 좋은 질문. :)..

개발관련/Git 2022.01.17

아직 푸시되지 않은 Git 병합 실행 취소 하는 방법

질문 : 아직 푸시되지 않은 Git 병합 실행 취소 내 마스터 브랜치 내에서 git merge some-other-branch 로컬로 수행했지만 변경 사항을 원본 마스터에 푸시하지 않았습니다. 병합하려는 의도가 아니 었으므로 실행 취소하고 싶습니다. git status 수행 할 때 다음 메시지가 표시되었습니다. # On branch master # Your branch is ahead of 'origin/master' by 4 commits. 내가 찾은 지침에 따라 실행을 시도했습니다. git revert HEAD -m 1 git status 로이 메시지가 표시됩니다. # On branch master # Your branch is ahead of 'origin/master' by 5 commits. 내..

개발관련/Git 2022.01.17

.NET Framework에서 Math.Pow ()를 구현하는 방법

질문 : .NET Framework에서 Math.Pow ()는 어떻게 구현됩니까? 나는 b 를 계산하기위한 효율적인 접근법을 찾고있었습니다 (예 : a = 2 및 b = 50 ). Math.Pow() 함수의 구현을 살펴보기로 결정했습니다. 그러나 .NET Reflector 에서 내가 찾은 것은 다음과 같습니다. [MethodImpl(MethodImplOptions.InternalCall), SecuritySafeCritical] public static extern double Pow(double x, double y); Math.Pow() 함수를 호출 할 때 내부에서 무슨 일이 일어나는지 확인할 수있는 리소스에는 어떤 것이 있습니까? 답변 MethodImplOptions.InternalCall 이는 메..

개발관련/other 2022.01.17

./configure: /bin/sh^M: bad interpreter 오류

질문 : ./configure : / bin / sh ^ M : 잘못된 인터프리터 내 공급 12 시스템에 lpng142를 설치하려고했습니다. 나에게 문제인 것 같습니다. 이 오류가 발생합니다. [root@localhost lpng142]# ./configure bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory [root@localhost lpng142]# 이 문제를 어떻게 해결합니까? /etc/fstab 파일 : # # /etc/fstab # Created by anaconda on Wed May 26 18:12:05 2010 # # Accessible filesystems, by reference, are maintaine..

개발관련/Linux 2022.01.17
728x90
반응형