2017-01-11 1 views
-1

우리는 수년간 svn을 사용했으며, 최근에 힘내로 전환했습니다. 우리는 특정 목적을 위해 svn에서 변경 목록을 사용했습니다. 그것들은 전역 무시와 유사하지만 정확하게 동일하지는 않습니다. 전역 무시는 패턴에 맞는 파일을 추가하지 않도록 svn에 지시하지만, 파일이 이미 버전 제어에 추가 된 경우에는 무시가 아무 것도하지 않습니다. 이것은 힘내에서 동일한 일이다. Git 무시 파일은 Git에게 주어진 패턴과 일치하는 파일을 무시하도록 지시하지만, 은 버전 제어에 아직 추가되지 않은 경우에만입니다.젠장 - 변경 목록 (svn) 동등한

svn의 변경 목록을 사용하여 이미 버전 관리에 추가 된 파일을 지정할 수있었습니다. 파일이 변경 목록에 추가되면 svn은 커밋 할 때이 파일을 무시합니다. 이 기본 장점은 실수로 변경 사항을 주 코드베이스로 보내지 않으려는 두려움없이 특정 파일을 자유롭게 편집 할 수 있다는 것입니다. 좋은 예제 시나리오는 특정 고객의 구성을 사용하고 핵심 코드 기반에 존재하지 않아야하는 프로젝트 파일에 고객 특정 참조를 추가하려는 경우입니다.

힘내라는 또 다른 은근수라는 개념이 있습니다. 델타를 로컬 레포에 숨겨 놓을 수 있습니다. 이것들은 문제의 한 부분을 해결하는 자유롭게 적용, 밀기 또는 튀기 수 있습니다. 그러나 우리가 커밋을 할 때 (git tool - tortoise git, gitkraken, VS),이 파일들은 여전히 ​​Git이 커밋하고자하는 파일 목록에 나타날 것입니다. 나는 그들이 실수로 실수를 저 지르거나 실수로 범하는 것보다 더 많이 나타나기 때문에 그 사람들이 나타나기를 바라지 않는다.

Git의 기능 변경과 같은 변경 방법이 있습니까?

참고 : 실제로 명령 줄을 통해이 작업을 수행하고 싶지는 않습니다. Visual Studio, Git Kraken 및 Tortoise Git의 조합을 사용합니다. 나는 Gui 시스템을 좋아한다. 명령 파일에서 명령을 실행하지 않아도됩니다. 명령 프롬프트에서 지정한 파일을 피하면서 자동으로 변경 내용을 커밋합니다.

+0

변경 목록의 사용은 실제로 표준 SVN 기능 iirc가 아닙니다. TortoiseSVN의 기능인 특별한 변경 목록 (무시할 때와 같은 것)은 모든 SVN 클라이언트에서 작동하지 않습니다 (일부 SVN 클라이언트는 동일한 규칙을 따랐습니다) –

+0

@Melbourne Developer, 대답을 표시해주세요. 문제를 해결하는 데 도움이됩니다. 그리고 비슷한 질문을하는 사람들을 도울 것입니다. –

답변

0

@Marina 대답에있는 문서 MSFT 게시 해답를 알려준 힘내에서 :

git update-index --no-assume-unchanged <file> 

내가 배치 파일을 만들었으므로 명령 줄에서 실행하고 싶지 않았다. 무시하고 싶은 모든 파일을 추적합니다. 필요할 때 더블 클릭 만하면됩니다. 자식은 더 이상이 파일들에주의를 기울이지 않는다. 그것은 똑같이 작동 svn에서 변경 목록이었다.

1

대 버전 제어에 이미 추가 된 파일을 무시하려면 목표를 달성하기 위해 git rm --cached filename 명령을 사용해야하므로 실제로 무시할 수 있습니다 (ignore files in vs 참조). 그래서 같은 단계 : 명령 줄에서

  • .gitignore에

    1. 추가 파일 이름, git rm --cached filename
    2. 파일을 편집을 사용하므로 변경 사항이 명령 git update-index --assume-unchanged filename

    추적 할 수 없습니다 잠시 파일을 무시하십시오. 다른 지점으로 전환 할 때는 먼저 git update-index --no-assume-unchanged filename이 필요합니다. 즉, 짧은 시간 동안 만 작동하고 파일은 실제로 git에서 제어하는 ​​버전입니다. 그것이 당신의 필요를 충족 시킨다면, 대신 그것을 사용할 수 있습니다.

    그러나 파일에 대한 버전 제어를 더 이상 수행하지 않으려면 첫 번째 방법이 필요합니다.이미 최선을 다하고 파일의 추적

    git update-index --assume-unchanged <file> 
    

    이력서 : https://www.visualstudio.com/en-us/docs/git/tutorial/ignore-files

    이 이미 망할 놈에 최선을 다하고 파일을 추적 중지 : -

  • +0

    내가 쓴 기사를 파고 들었다. 권장 사항은 git update-index --assume-unchanged 입니다. 왜이 명령을 대신 사용하지 않겠습니까? 그것은 나를 위해 잘 작동합니다. –

    +0

    귀하의 참조에 대한 내 대답의 차이점을 업데이트합니다. –