我一直在“dev-test”目录中进行开发工作,并在此过程中提交了文件。我现在需要将这些相同的文件提交到不同命名的目录,并删除“dev-test”目录中提交的文件。我不确定如何保留我的工作文件。
我的“开发测试”存储库是本地的,但我一直在做跟踪为“主”的拉动,但我没有合并我的代码。
我可以在我第一次提交这些文件之前使用 git reset 吗,因为其他开发人员已经合并到“master”中:
git reset --soft #commitID
您的问题仍然有点不清楚,但您可能想要其中之一:
如果文件不是对其他文件的修改,只需移动文件
$ git mv dev-test/files other-dir
$ git commit -a
如果您的测试文件是对其他文件的修改,您可能希望获得diff
从开始到现在的工作并将补丁应用到其他目录。
如果您想要的是第二个,实际上您应该从一开始就做不同的事情。如果你想测试一些东西,然后将它应用到 master,你应该创建一个分支,处理它,如果你满意,将 master 合并到你的分支中。如果一切都很好,那么您可以将所有内容合并回 master 并让每个人都知道它。
要将文件从一个目录移动到另一个目录,您可以使用git mv命令。例如,您的 git 存储库中有 2 个目录 a.draft,b.pages(在我的例子中,gitrepo 是名称)。你想将文件 abc.md 从草稿移动到页面确保你在你的 gitrepo 使用cd去你的 gitrepo (你也可以通过$git status检查状态)并写:
[zuha@localhost gitrepo] $ git mv draft/abc.md pages
它会显示类似
[zuha@localhost gitrepo] $ renamed: draft/abc.md -> pages/single-batch-ex.md~
现在提交你的文件
[zuha@localhost gitrepo] $ git commit -m "first file"
输入您的用户名和密码,然后推送。
[zuha@localhost gitrepo] $ git push origin (your-branch)