仓库和分支,不要弄混概念。 fork 是对源 repo 的 clone ,如果你 clone 了一个 repo ,那么你本地做的任何 commit 都影响不了 origin ,除非做 push pull 。
与 clone 一个仓库不同的是:如果你 fork 别人的项目,不经过别人允许就 push ,那会让原项目管理起来很累,所以 GitHub 的设计为只允许发 pull request ,由源项目决定是否 pull 你的 commit 过来合并。
至于源项目删除,看是删除 repo 还是只删除某个 commit version 或者只删除某个 branch ,只要不删除 repo ,那么你 fork 出来,对方做了修改后删除某个 commit 或 branch ,你 pull request 发出后,对方如果愿意 pull 你的 repo 相应的 branch ,那源项目不受影响。
V2EX 里发现好多关于 Git 的问题,都是因为对 Git 工作机制不理解。请参考
http://v2ex.com/t/214595#reply10