나는 fluentmigrator의 포크 인 guthub에 repository을 가지고 있습니다. 이것이 git에 대한 첫 번째 진출이었고 포크와 업스트림 저장소 사이의 공백 충돌을 해결할 수없는 상황에 처해있었습니다.gol에서 공백 문자 문제를 해결할 수 없습니다
저는 Windows 7에서 실행 중이며 msysgit 클라이언트를 사용하고 있습니다. 여기
$ git remote -v
origin https://github.com/lscharen/fluentmigrator (fetch)
origin https://github.com/lscharen/fluentmigrator (push)
upstream http://www.github.com/schambers/fluentmigrator (fetch)
upstream http://www.github.com/schambers/fluentmigrator (push)
내 지역의 repo 내 github의의의 repo에 전류 링크 된 저장소이며, 이러한 파일 중 일부에
[email protected] /c/checkout/fluentmigrator (master)
$ git diff --stat origin/master
[email protected] /c/checkout/fluentmigrator (master)
$ git diff --stat upstream/master
src/FluentMigrator.Console/MigratorConsole.cs | 563 ++++++++++----------
.../Initialization/IRunnerContext.cs | 1 +
.../Initialization/RunnerContext.cs | 1 +
src/FluentMigrator.Runner/MigrationLoader.cs | 193 ++++----
src/FluentMigrator.Runner/MigrationRunner.cs | 4 +-
src/FluentMigrator.Runner/VersionLoader.cs | 343 +++++++------
.../Versioning/VersionMigration.cs | 221 +++++----
.../Unit/TestVersionTableMetaData.cs | 105 ++--
.../Unit/VersionLoaderTests.cs | 272 +++++-----
.../Infrastructure/DefaultMigrationConventions.cs | 252 +++++-----
.../Infrastructure/MigrationMetadata.cs | 91 ++--
src/FluentMigrator/MigrationAttribute.cs | 70 ++--
.../DefaultVersionTableMetaData.cs | 84 ++--
.../VersionTableInfo/IVersionTableMetaData.cs | 57 ++-
14 files changed, 1182 insertions(+), 1075 deletions(-)
변경은 순수 EOL 문제입니다 상류의 repo에 대한 약간의 변화가 있습니다. src/FluentMigrator.Console/MigratorConsole.cs
의 diff를보고 공백을 무시하면
$ git diff --stat -w upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
나는 다양한 SO 답변에서 core.autocrlf
설정에 대한 조언을 따라 문제를 해결하려고 시도했지만, 아무것도 내 파일이 업데이트 된 상태에서 내 이름을 써 넣는 것 같다 내 origin
에 대해 DIFF을 보여 주지만, upstream
과 일치합니다.
다음은 내가 시도한 것입니다.
는
$ git rm --cached src/FluentMigrator.Console/MigratorConsole.cs
rm 'src/FluentMigrator.Console/MigratorConsole.cs'
$ git config core.autocrlf input
$ git add src/FluentMigrator.Console/MigratorConsole.cs
$ git diff --stat upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 563 +++++++++++++------------
1 files changed, 287 insertions(+), 276 deletions(-)
이 core.autocrlf false
을 설정하고 수동으로 DOS2UNIX
$ git config core.autocrlf false
$ dos2unix src/FluentMigrator.Console/MigratorConsole.cs
$ git diff --stat upstream/master src/FluentMigrator.Console/MigratorConsole.cs
src/FluentMigrator.Console/MigratorConsole.cs | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
닫기로 변환 this 대답에서 core.autocrlf input
를 설정! 그러나 diff에 삽입 된 각 줄 끝에 ^M
문자가 매달려 있습니다 (예 : git config core.whitespace cr-at-eol
설정
+ public string Group;^M
하지만 난 두려워의 diff
올바른 보이게했다가 내가 여전히 REPO에 호환되지 않는 공백 문자를 넣어됩니다이 파일을 커밋합니다.
풀 요청을 처리하기 위해 포크를 수정하려고합니다. 따라서이 문제를 해결하기위한 일반적인 조언을 보내 주시면 감사하겠습니다.