Git 如何在不删除其他工作的情况下保持分支机构的整洁?

Git 如何在不删除其他工作的情况下保持分支机构的整洁?,git,Git,我最近和另外两个人参加了一个小项目 我们有一个git存储库,里面有很多他们一直在研究的东西,而我只在研究一个包含4个文件的小功能 我的问题是:在我们的存储库中,我想在我的电脑上保留一些东西,可能会对它们进行一些更改(例如,出于某种原因,存储库中有idea dir),但我不想影响其他人,因此我使用了: git rm -r --cached .idea (以及其他一些目录和文件) 但是,如果我尝试将我的分支与主分支合并,我删除的所有文件都将从存储库中删除 如何从分支中排除所有文件,并且在合并时仍不

我最近和另外两个人参加了一个小项目

我们有一个git存储库,里面有很多他们一直在研究的东西,而我只在研究一个包含4个文件的小功能

我的问题是:在我们的存储库中,我想在我的电脑上保留一些东西,可能会对它们进行一些更改(例如,出于某种原因,存储库中有idea dir),但我不想影响其他人,因此我使用了:

git rm -r --cached .idea
(以及其他一些目录和文件)

但是,如果我尝试将我的分支与主分支合并,我删除的所有文件都将从存储库中删除

如何从分支中排除所有文件,并且在合并时仍不会在主控上删除它们


我尝试在命令后使用.gitignore,但仍然没有太大帮助。

我不理解您的工作流程

  • 如果有更改此文件的正当理由,只需创建一个新提交(可能在新分支上),并与您的团队共享这些更改
  • 如果您需要临时更改这些文件(例如,为了测试/调试某些东西),只需编辑它们,但不进行阶段/提交更改(切勿使用blind
    git add-A
  • 如果这些文件只是本地或临时文件(例如IDE的配置)。不要通过git跟踪它们(删除它们并添加到.gitignore)

  • 尝试使用
    --no commit
    选项合并您的分支,并在它们之后删除暂存文件并忽略此文件中的更改

    例如,要通过合并忽略exampleFile.txt上的所有更改,请尝试以下操作:

    这实际上创建了一个正常的合并,但没有合并提交:

    git merge --no-ff --no-commit <merge-branch>
    
    将文件恢复到更改前的状态:

    git checkout -- exampleFile.txt
    
    使用还原的exampleFile.txt进行提交:

    将本地分支与远程分支同步:

    git push
    

    除了gitignore,您可以将.git/info/exclude中的文件更改为计算机上被忽略的状态文件。这是本地设置,不会在任何地方共享。仅供参考
    git commit -m "merged to master-branch"
    
    git push