检查旧分支时如何防止丢失.gitignore?

时间:2015-07-05 14:32:23

标签: git

如果我在掌握并且我想要安全的东西被git忽略,那么我:

    <aside class="leftcontainer">
        <div class="leftHeader">Tools</div>
        <div class="leftDimPanel"></div>
        <div class="toolset">
        <div class="tool" id="DrawFree" onClick="setActiveb('DrawFree')">Draw Free</div>
        <div class="tool" id="Line" onClick="setActiveb('Line')">Line</div>
        <div class="tool" id="Circle" onClick="setActiveb('Circle')">Circle</div>
        <div class="tool" id="Rectangle" onClick="setActiveb('Rectangle')">Rectangle</div>
        <div class="tool" id="Polygon" onClick="setActiveb('Polygon')">Polygon</div>
        <div class="tool" id="Star" onClick="setActiveb('Star')">Star</div>
        <div class="tool" id="Eraser" onClick="setActiveb('Eraser')">Eraser</div>
        </div>
        </aside>

但旧分支没有被忽略的文件arrgh!所以现在可以添加未跟踪的文件等,并且很容易重置 - 硬等等。

除了:

之外,还有更优雅的解决方法吗?
    git checkout <oldbranch or commit>

或不断管理将.gitignore复制到 git checkout master .gitignore #maybe write a hook to do this every checkout of <oldbranch or commit>?

1 个答案:

答案 0 :(得分:3)

.git/info/exclude中添加规则是一种方法,但它仍然是本地解决方法:它不会像.gitignore文件那样被推送。

最好的选择仍然是在签出的分支中创建.gitignore

git checkout aBranchWithoutGitignore
git checkout master -- .gitignore
git add .gitignore
git commit -m "Add .gitignore from master"

然后cherry-pick提交其他分支。