Subversion에는 2016 년 2 월 / 버전 1.9부터 내장 된 "커밋하지 않음"/ "커밋 무시"기능이 없습니다. 이 답변은 비 이상적인 명령 줄 해결 방법입니다.
OP 상태에 따라 TortoiseSVN에는 "커밋 무시"라는 변경 목록이 내장되어 있으며 커밋에서 자동으로 제외됩니다. 커맨드 라인 클라이언트는 이것을 가지고 있지 않으므로, 동일한 행동을하기 위해 여러 변경 목록을 사용해야합니다 (주의 사항) :
- 당신이하고 싶은 일을위한 것 [일]
- 무시하고 싶은 것들에 대한 것 [커밋 무시]
TortoiseSVN의 선례가 있기 때문에 커밋하고 싶지 않은 파일에 대해서는 예제에서 "커밋 무시"를 사용합니다. 내가하는 파일에 "작업"을 사용하지만 원하는 이름을 선택할 수 있습니다.
먼저 모든 파일을 "work"라는 변경 목록에 추가하십시오. 작업 복사본의 루트에서 실행해야합니다.
svn cl work . -R
그러면 작업 복사본의 모든 파일이 "work"라는 변경 목록에 재귀 적으로 추가됩니다. 새로운 파일이 작업 복사본에 추가 될 때 새 파일을 구체적으로 추가해야합니다. 그렇지 않으면 포함되지 않습니다. 둘째, 다시 실행해야 할 경우 모든 "커밋 무시"파일을 다시 추가해야합니다. 이상적이지 않습니다-다른 사람들이했던 것처럼 파일에서 자신의 '무시'목록을 유지하기 시작할 수 있습니다.
그런 다음 제외하려는 파일의 경우 :
svn cl ignore-on-commit path\to\file-to-ignore
파일은 하나의 변경 목록에만있을 수 있으므로 이전 "작업"추가 후에이 추가를 실행하면 "작업"변경 목록에서 무시하려는 파일이 제거되고 "커밋시 무시"변경 목록에 저장됩니다.
수정 한 파일을 커밋 할 준비가되면 커밋에 "--cl work"를 추가하면됩니다.
svn commit --cl work -m "message"
내 컴퓨터에서 간단한 예를 보여줍니다.
D:\workspace\trunk>svn cl work . -R
Skipped '.'
Skipped 'src'
Skipped 'src\conf'
A [work] src\conf\db.properties
Skipped 'src\java'
Skipped 'src\java\com'
Skipped 'src\java\com\corp'
Skipped 'src\java\com\corp\sample'
A [work] src\java\com\corp\sample\Main.java
Skipped 'src\java\com\corp\sample\controller'
A [work] src\java\com\corp\sample\controller\Controller.java
Skipped 'src\java\com\corp\sample\model'
A [work] src\java\com\corp\sample\model\Model.java
Skipped 'src\java\com\corp\sample\view'
A [work] src\java\com\corp\sample\view\View.java
Skipped 'src\resource'
A [work] src\resource\icon.ico
Skipped 'src\test'
D:\workspace\trunk>svn cl ignore-on-commit src\conf\db.properties
D [work] src\conf\db.properties
A [ignore-on-commit] src\conf\db.properties
D:\workspace\trunk>svn status
--- Changelist 'work':
src\java\com\corp\sample\Main.java
src\java\com\corp\sample\controller\Controller.java
src\java\com\corp\sample\model\Model.java
M src\java\com\corp\sample\view\View.java
src\resource\icon.ico
--- Changelist 'ignore-on-commit':
M src\conf\db.properties
D:\workspace\trunk>svn commit --cl work -m "fixed refresh issue"
Sending src\java\com\corp\sample\view\View.java
Transmitting file data .done
Committing transaction...
Committed revision 9.
대안은 단순히 '작업'변경 목록에 커밋하려는 모든 파일을 추가하고 무시 목록을 유지 관리하지는 않지만 많은 작업입니다. 실제로 유일한 단순하고 이상적인 솔루션은 이것이 SVN 자체에서 구현되는 경우입니다. Subversion 이슈 트래커 인 SVN-2858 에서는 이것에 대한 오래된 이슈 가 향후에 변경 될 경우에 발생합니다.