我有我的Git仓库,在根,有两个子目录: /finisht /static 当这是在SVN中 , /finisht被检出在一个地方,而/static被检出在其他地方,如下所示: svn co svn+ssh://admin@domain.com/home/admin/repos/finisht/static static 有没有办法与Git做到这一点?
我最近切换到GitHub(由于防火墙问题)我的储存库同步到https://并且每次都要求input密码。 它曾经是我有一个SSH证书,这已经足够了。 有没有办法绕过我的情况下的密码(使用HTTP / HTTPS)?
有时候我把一个DVD-rip放到一个网站项目中,然后不小心把git commit -a -m …和zap,这个回购臃肿了2.2演出。 下一次我做了一些编辑,删除了video文件,并提交了所有内容,但是压缩文件仍然存在于版本库中。 我知道我可以从这些提交开始分支,并将一个分支重新分配到另一个分支。 但是我应该怎么做才能将这两个提交合并在一起,以便这个大文件不会在历史中显示出来,并且在垃圾回收过程中被清除了?
好的,在PJ Hyett看到这篇文章后 ,我决定跳到最后去和Git一起去。 所以我需要的是一个初学者对Git的实用指南。 “初学者”被定义为知道如何处理他们的编译器的人,在某种程度上理解一个Makefile是什么,并且已经触及了源代码控制,而没有很好地理解它。 “实用”被定义为这个人不想详细了解Git在后台做什么,甚至不关心(或知道)它是否分发。 你的答案可能暗示了可能性,但是试图针对那些想要在备份和安全的“服务器”上保留一个“主要”存储库的初学者,并把他们的本地存储库视为一种“客户”资源。 所以: 安装/设置 如何安装Git 你如何设置Git? 尝试涵盖Linux,Windows,Mac,认为“客户/服务器”的思想。 在Windows上使用Msysgit安装GIT服务器 你如何创build一个新的项目/存储库? 你如何configuration它忽略不是代码的真正的一部分的文件(.obj,.user等)? 使用代码 你如何得到最新的代码? 你如何检查代码? 你如何做出改变? 您如何看待未提交的内容或当前代码库的状态? 你如何销毁不需要的提交? 如何比较文件的两个版本,或者你当前的文件和以前的版本? 你如何看待修改文件的历史? 你如何处理二进制文件(如visio文档,或编译环境)? 如何合并在“同一时间”更改的文件? 你如何撤销(恢复或重置)提交? 标记,分支,发布,基线 你如何为一组特定的文件“标记”或“释放”一组特定的修订版本,以便以后随时可以修改这些修订版本? 你如何拉一个特定的“释放”? 你如何分支? 你如何合并分支机构? 你如何解决冲突并完成合并? 你如何将一个分支的部分合并到另一个分支? 什么是rebasing? 如何跟踪远程分支机构? 我如何在远程存储库上创build分支? 如何删除远程存储库上的分支? Git工作stream的例子 其他 描述并链接到一个良好的GUI,IDE插件等,使Git成为一个非命令行资源,但是请列出它的限制和好处。 msysgit – 包含在Git中的跨平台 gitk – 包含在Git中的跨平台历史查看器 gitnub – Mac OS X gitx – Mac OS […]
有没有一种很好的方法来解释如何解决Git中的合并冲突?
我不清楚以下的意思(从git子模块更新文档): …将使子模块HEAD被分离,除非–rebase或–merge被指定… –rebase / –merge如何改变事物? 我的主要用例是有一堆中央回购,我将通过submodulesembedded到其他回购。 我希望能够直接在原来的位置,或者从embedded式回收站(通过子模块使用回收站)来改进这些中央回购站。 在这些子模块中,我可以创build分支/修改,并像使用常规回购一样使用推/拉,或者有些事情需要谨慎? 我将如何提高子模块引用提交从说(标记)1.0到1.1(即使原始回购的头已经在2.0),或select使用哪些分支提交?
我有一个Git仓库,其中包含一些子目录。 现在我发现其中一个子目录与另一个不相关,应该分离到一个单独的存储库。 我怎么能这样做,而保持在子目录中的文件的历史? 我想我可以做一个克隆,并删除每个克隆不需要的部分,但我想这会给我一个完整的树,当检查一个较旧的修订等。这可能是可以接受的,但我宁愿能够假装两个存储库没有共享的历史logging。 为了说清楚,我有以下结构: XYZ/ .git/ XY1/ ABC/ XY2/ 但是我想代之以: XYZ/ .git/ XY1/ XY2/ ABC/ .git/ ABC/
在混帐,我试图通过合并在另一个分支,然后通过重置HEAD到以前的地方做一个壁球提交: git reset origin/master 但我需要走出这一点。 我怎样才能将HEAD移回到之前的位置? 我有我需要移动到提交的SHA1碎片( 23b6772 )。 我怎样才能回到这个提交?
我有一个已经初始化的Git仓库,我添加了一个.gitignore文件。 我怎样才能刷新文件索引,所以我想忽略的文件被忽略?
我意外地把错误的文件保存到了Git中 ,但是我还没有将提交提交到服务器。 我怎样才能撤销这些提交?