{"thread":{"id":"41422","subject":"git-mv ignores gitignore file","startedAt":"2016-02-16T08:35:16Z","lastAt":"2016-02-16T08:35:16Z","messageCount":1,"participants":["Zheng Lv"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"278284","messageId":"56C2DF44.10309@gmail.com","threadId":"41422","inReplyTo":null,"subject":"git-mv ignores gitignore file","fromName":"Zheng Lv","fromEmail":"lv.zheng.2015@gmail.com","sentAt":"2016-02-16T08:35:16Z","receivedAt":"2016-02-16T08:35:16Z","isPatch":false,"sender":{"key":"lv.zheng.2015@gmail.com","avatar":null},"body":"gitignore(5) manual says that\n\n> A gitignore file specifies intentionally untracked files that Git \n> should ignore. Files already tracked by Git are not affected ...\n\n> The purpose of gitignore files is to ensure that certain files not \n> tracked by Git remain untracked.\n\nwhich means that the following operations are totally correct.\n\n$ echo \"b\" >> .gitignore\n$ echo \"Something\" > a\n$ git add a\n$ git mv a b\n\nEquivalantly,\n\n$ echo \"b\" >> .gitignore\n$ echo \"Something\" > b\n$ git add --force b\n\nThat is, doing something --force when --force it is not specified.\n\nHowever, this may not be the intented behavior. The user might not want\nto equivalantly add a `new' file b to the index when b should be\ngitignored. Such operations are possibly oversight of users.\n\nThe ideal behavior, issue a warning when git-mv target collides with\ngitignore.\n\nThanks.\n"}]}