2012-06-04 60 views
2

我一直在'dev-test'目录下开发工作,并一直在提交文件。我现在需要将这些文件提交到一个不同名称的目录,并删除'dev-test'目录中的提交文件。我不知道如何保留我的工作文件。将承诺的git文件移动到另一个目录

我的'开发测试'回购是本地的,但我一直在做跟踪为'主',但我没有合并我的代码。

我可以使用git重置前我第一次提交这些文件,其他开发商已经合并为“主”:

git reset --soft #commitID 
+0

所以你有一个'test-dev'回购,你有一个'dev-test'目录? dev-test的内容是否与您的其他目录相同,并且您想将结果与其他目录合并?还是另一个目录是全新的,你只需要重命名目录? – Shahbaz

+0

编辑完成后:那么'dev-test'是否是repo中的repo或目录? – Shahbaz

+0

请尝试更清楚,你想要做什么? – CharlesB

回答

24

你的问题仍然是一个有点不清楚,但你可能想其中之一:

  1. 只需移动的文件,如果他们不修改其他一些文件

    $ git mv dev-test/files other-dir 
    $ git commit -a 
    
  2. 如果您的测试文件是对其他文件的修改,那么您需要在开始工作之前从您的工作中获得diff,并将补丁应用到其他目录。

万一你想要的是第二个,你应该事实上从一开始就做了不同的事情。如果你想测试一些东西,然后再将它应用到主人,你应该创建一个分支,在它上面工作,如果你满意,将主人合并到你的分支。如果一切都很好,那么你可以把所有东西都归并为主,让每个人都知道。

+1

谢谢,我在想这个。我感谢你的时间和耐心。 – hybrid9

2

要将文件从一个目录移动到另一个目录,可以使用git mv命令。 例如,你有2个目录 a.draft,b.pages你的git存储库(gitrepo是我的例子中的名字)。要移动从草案页abc.md文件,确保您在尤尔是gitrepo使用CD去你gitrepo(您可以通过$ git的状态以及检查状态),并写:

[[email protected] gitrepo] $ git mv draft/abc.md pages 

它会显示类似

[[email protected] gitrepo] $ renamed: draft/abc.md -> pages/single-batch-ex.md~ 

现在提交你的文件

[[email protected] gitrepo] $ git commit -m "first file" 

输入您的用户名和密码,并推送它。

[[email protected] gitrepo] $ git push origin (your-branch) 
相关问题