我不确定这是否是Git所支持的东西,但理论上它似乎应该对我有用.
我的工作流程通常涉及我同时在多个分支中编辑文件.换句话说,我经常想在一个分支中打开一些文件,而我在另一个分支中编辑另一个文件的内容.
我的典型解决方案是进行两次检查,但遗憾的是我不能在它们之间共享分支和引用.我想要的是只有两个工作目录由同一个.git文件夹管理.
我知道本地git clone解决方案(默认情况下,硬链接共享对象,以及--shared选项,它使用原始repo设置备用对象存储),但这些解决方案只减少了磁盘空间使用量,特别是在--shared的情况下,似乎充满了危险.
有没有办法使用一个.git文件夹,并有两个工作目录由它支持?或者是Git硬编码只是随时检查一个工作目录?
我正在使用包含大量文件的存储库,这需要几个小时才能结账.我正在研究Git是否能够很好地使用这种类型的存储库,因为它支持稀疏检出,但我能找到的每个示例都执行以下操作:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Run Code Online (Sandbox Code Playgroud)
这个命令序列的问题是原始克隆也执行结帐.如果将-n添加到原始克隆命令,则read-tree命令会导致以下错误:
错误:稀疏结账不会在工作目录上留下任何条目
如何在不先检出所有文件的情况下进行稀疏结账?
我想在同一时间在不同的分支上进行一次提交,因为在我的项目中,我为不同的客户端设置了不同的分支.
说,我在分支A上做了一个新的功能提交.我是否也可以同时在分支B,分支C和D上进行此提交?这有什么捷径命令吗?检查一个分支是非常麻烦的,并且每次都会提交提交,如果在许多分支上需要提交,那对我来说将是一场噩梦.
这个操作有什么简单的bash脚本吗?
那里有一个类似的问题.但是变基不是我想要的.
我需要打开2个Visual Studio实例,一个将打开我只看项目X /分支1的代码.另一个,将用于代码项目X /分支2.如何做到这一点并且不要提交操作中的松动更改?
我使用git与SVN存储库进行交互.我有几个git分支用于我工作的不同项目.
现在,每当我使用'git checkout'从一个分支切换到另一个分支时,来自前一个分支的所有已编译的可执行文件和目标文件仍然存在.我想看到的是从分支A切换到B导致一个树,其中包含我上次在分支B上工作时的所有目标文件和二进制文件.
有没有办法处理这个而不创建多个git存储库?
更新:我知道可执行文件和二进制文件不应该最终存储在存储库中.我有点失望的事实是git中的所有分支内容对我来说都是无用的,因为事实证明我必须为我想要启动的每个分支克隆我的代理git存储库.我已经为SVN做了一些事情,希望用git来避免.当然,我没有必要这样做,但是这会导致我在分支之间切换时大部分时间都做新的制作(不好玩).
我目前正在研究一个在MATLAB/SPM8下运行的神经影像工具箱,我仓库中的大多数程序文件都是MATLAB *.m文件.我有不同的功能分支和一个analysis分支,我用于使用当前版本进行持续分析.同时我正在开发代码master和功能分支,然后不断合并到master分支.
现在的问题是,我在analysis分支机构运行的分析确实需要花费很多时间(甚至几天),而在那段时间我无法git checkout master或git checkout new-feature.这严重限制了我的生产力.
因此,由于不可能同时保持多个分支同时打开,我正在考虑将analysis分支从开发存储库移到其自己的存储库中.问题是,如果我git init是一个基于当前analysis分支的新存储库,是否有办法以某种方式git merge从当前master分支(开发存储库)不时地在新的开发存储库中使用新开发的代码分析库?
我有两个回购:市场和Android.当我将Android合并到Market时,请使用以下步骤:
cd market
git remote add android ../android
git fetch android
git merge --allow-unrelated-histories android/master
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
ei @ localhost:〜/ market $ git merge --allow-unrelated-histories android/master error:unknown option`allow-unrelated-histories'
我的环境:Ubuntu LTS 14.04
ei@localhost:~/market$ git --version
git version 1.9.1
Run Code Online (Sandbox Code Playgroud)
这个选项是从Git合并中删除的,还是需要一些额外的配置?
任何帮助将不胜感激,谢谢!
我删除了它的工作目录,因为这个git工作树不再有用了,然后我git branch -D pubsub-sketch-tree在主存储库的目录下.抛出的错误:
error: Cannot delete branch 'pubsub-sketch-tree' checked out at '/Users/zhouhancheng/??/github_own/sketch_worktree/pubsub-sketch_tree'
Run Code Online (Sandbox Code Playgroud)
但是'/ Users/zhouhancheng /编程/ github_own/sketch_worktree/pubsub-sketch_tree'已被删除.
是否可以获取存储库(例如CakePHP1.x @ http://github.com/cakephp/cakephp1x)并将master加分支机构检入子文件夹?
例如,我想要的文件夹结构如下:
cakephp1.x
| ------ 1.2
| ------ 1.3
| ------高手
我知道你可以使用git checkout -t origin/branch在克隆存储库的分支之间切换,但我想知道是否有办法完成上述操作而无需克隆存储库并重复重命名.
当我这样做时git worktree list,它显示如下。
/path/to/workspace c943d35 [master]
/path/to/workspace ef4df56 (detached HEAD)
Run Code Online (Sandbox Code Playgroud)
这是我的工作目录(不是工作树目录)。我不知道它是怎么发生的,以及如何清洁它。我试过了git worktree prune,但它不会改变任何东西。任何帮助将不胜感激。非常感谢。
git ×10
branch ×4
android ×1
c++ ×1
directory ×1
git-branch ×1
git-merge ×1
git-worktree ×1
subdirectory ×1
workflow ×1