这可能违背了git的设计理念,但是:
在我的组织中,我不断地拆除数千个开发者分支,例如, <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:marginTop="?attr/actionBarSize" <!-- here is marginTop -->
tools:context="com.example.leonel.picollo.MainFragment">
</RelativeLayout>
我宁愿使用git,默认情况下,不要拉下这些分支。然后,如果事实证明我确实需要在特定的分支中进行协作,我会明确地将其删除。
这可能吗? (我的研究很少表明没有)
由于
答案 0 :(得分:3)
git-pull
使用git-fetch
。
请参阅https://git-scm.com/docs/git-fetch了解其文档,尤其是“配置远程跟踪分支”部分(下面逐字附上)。
考虑到这一点,你只能将模式列入白名单,而不是排除某些模式。你可以做的是:
Dev/*
和Foo/*
git fetch允许您配置远程。&lt; repository&gt; .fetch配置变量。
通常这样的变量可能如下所示:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
此配置以两种方式使用:
运行git fetch而不指定在命令行上获取哪些分支和/或标记,例如git fetch origin或git fetch,remote。&lt; repository&gt; .fetch values用作refspecs-它们指定要获取的ref引用以及要更新的本地引用。上面的示例将获取原点中存在的所有分支(即,与值的左侧匹配的任何ref,refs / heads / )并更新refs / remotes / origin中的相应远程跟踪分支/ 层次结构。
答案 1 :(得分:3)
您始终可以简单地获取您正在处理的当前分支,并且只获取此分支。
我宁愿使用git,默认情况下,不要拉下这些分支
# pull only the current branch you are working on
# git pull = git fetch && git merge
git pull origin <branch name>
现在,当您需要合并分支时,您始终可以使用此语法来拉/合并它:
# grab the remote branch
git pull origin Dev/<branch name>
另一种方法是与你的refspec
“玩”但我不建议这样做,即使它非常简单。
以下是文档的示例:
...但是,您可以使用命名空间(或目录)来完成类似的操作。
如果你有一个推动一系列分支的QA团队, 你希望获得主分支和任何QA团队的分支,但没有别的,你可以使用这样的配置部分:
[remote "origin"] url = https://github.com/schacon/simplegit-progit fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/qa/*:refs/remotes/origin/qa/*