我喜欢Git的简单,但我很难有效地使用它。
是否有可能使用Git(在本地开发机器上)执行以下操作:
D:\gitrepo )等目录下有一个仓库,
有关如何在git中进行上述操作的任何build议?
要设置一个类似D:\gitrepo ,你可以使用所谓的遥控器。 你可以使用这个目录作为你和其他开发者可以用作“中央SVN服务器”的远程。 创建gitrepo目录,并运行命令git init --bare 。 然后从你的本地git回购你可以做git remote add origin D:\gitrepo 。 然后你通过git push origin master 。 现在任何人都可以从D:\gitrepo进行克隆,并将其更改备份。
我不确定你的意思是“(所需要的只是删除一个文件夹,一切都消失了)”。 如果你删除你的src/文件夹,你的数据不会消失。 你可以很容易地把它回滚,用git reset --hard HEAD假设你没有提交它。 如果你确实使用git revert SOMESHA 。 显然SOMESHA是提交的SHA1哈希。 如果你不小心删除了D:\gitrepo ,这不是问题,因为你的工作副本是完全一样的。 只要做我在第一段中再次提到的内容。 丢失所有东西的唯一方法是删除远程存储库,并从中克隆所有的存储库。
对于备份,您只需要备份整个D:\gitrepo文件夹。
对于你的第二点,没有简单的方法在分开的目录中有分支。 你可以做的最好的是有两个克隆,并将每个克隆设置为不同的分支。 我不熟悉Beyond Compare,但是git diff在两个分支之间工作,不需要单独的目录。 只要使用git diff master somebranch 。 要查看你有哪些分支,请使用git branch
你肯定是试图以它不是为了设计的方式来使用它; 话虽如此…
1)是的,你可以有一个存储库的多个副本,所以你可以'推'到另一个作为备份,如果你喜欢。 尽管使用'git init –bare'来设置另一个。
2)您可以将多个克隆的存储库彼此相邻,并在它们之间推/拉分支。 但是,最后我认为这将会使你的工作更加明显。 “git分支”很容易列出你所有可用的分支。
对于不同目录中的分支,可以使用git-new-workdir脚本。 这在多个工作目录之间共享一个储存库,其可以位于不同的分支。