Git 备份未跟踪的文件

标签 git github git-untracked

我有一个由 git 管理的个人存储库。在那里,我有一个小项目,其中包含我已经提交的跟踪文件和一些我想在不久的将来添加的未跟踪文件。

那些未跟踪的文件位于我的本地计算机中。我没有备份。我想知道从我的开发分支中为未跟踪的文件创建新分支是否是一种好习惯(我有 master、develop 以及我正在开发的每个功能)。

git checkout -b myuntrackedfiles develop
git add <files> (each untracked file)
git commit -m "Backup"
git push origin myuntrackedfiles.

然后,当我想要 merge 其中一个未跟踪的文件时,我只需将它们从未跟踪的存储库复制到所需的分支

git checkout myfeature-nnn
git show myuntrackedfiles:myfile > myfile
git show myuntrackedfiles:myfile2 > myfile2
...
git commit -m "Adding untracked files"

git push origin feature-nnn

最后,我可以将它们从未跟踪的分支中删除

    git checkout myuntrackedfiles
    git reset --soft HEAD~1
    git reset HEAD myfile1
    git reset HEAD myfile2
    git commit --amend
    git push origin myuntrackedfiles

并在本地删除未跟踪的文件。

问题是:是否存在一种更好、更有效的方法来完成此过程,或者这个方法足够好?

最佳答案

Git 不是备份工具。最佳实践是提交项目运行所需的文件。但请注意,无需修改这些文件即可让其他开发人员运行或您在不同的计算机上运行。此类更改应与可以在代码外部设置的配置隔离,例如通过环境变量或应用程序在运行时可以读取的配置文件。

您应该避免提交大文件,例如应用程序使用的数据。相反,您可以使用 Drop Box、OneDrive 或 Google Drive 等工具备份这些内容。

关于Git 备份未跟踪的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64613056/

相关文章:

Git 问题 : Newly added folders are showing untracked

git - 如何将 git 与 dropbox 和 usb-stick/thumbdrive 一起使用

git - 通过补丁添加时,有没有办法在git中添加未跟踪的文件?

linux - Git 忽略并取消跟踪文件 [是的,我已经阅读了其他帖子]

git commit 修改和未跟踪的内容

windows - Jenkins 无法在 Windows 上通过 Git/SSH 克隆 Git 存储库

Git 术语 : Difference between tip and HEAD?

objective-c - 从现有项目托管的 Github(和本地)创建 cocoapod

GitHub 操作 : sharing/referencing jobs between workflows

linux - git --global 开关与一个用户或所有用户相关?