- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我被要求使用 Fork Workflow,即我必须处理具有相同或相似名称的多个分支。我为什么要使用这些不同的变体?
以下是不同命名约定的一些示例:
最佳答案
小心地背诵一系列记住的 Git 命令。 Git 有一个 simple but powerful object model .了解 git 命令在对象模型方面的工作方式,以及您想要执行的操作如何适合命令执行的操作。根据我的经验,运行内存的命令有时会导致多次重复调用相同的序列,这可能会以奇怪的方式混淆历史。疑惑的队友上门求助后,我坐下来,看看现在的状态,挠了挠头,问“你怎么会变成这个状态的?”
跟踪分支的命名方案(例如,origin/mybranch
或remotes/origin/mybranch
— 甚至refs/remotes/origin/mybranch
和upstream/mybranch
也是如此)泄露了分支命名空间的实现细节,即。refs
, remotes,
和 origin
是解压存储时的物理目录。查看 git pack-refs
documentation或在 .git/refs
下面的目录层次结构中探索.
为了方便用户,Git 接受分支的缩写名称,类似于用户无需输入完整的 40 个字符的 SHA1 对象名称。 git rev-parse
documentation解释。
<refname>
, e.g.master
,heads/master
,refs/heads/master
A symbolic ref name. E.g.master
typically means the commit object referenced byrefs/heads/master
. If you happen to have bothheads/master
andtags/master
, you can explicitly sayheads/master
to tell Git which one you mean. When ambiguous, a<refname>
is disambiguated by taking the first match in the following rules:
If
$GIT_DIR/<refname>
exists, that is what you mean (this is usually useful only forHEAD
,FETCH_HEAD
,ORIG_HEAD
,MERGE_HEAD
andCHERRY_PICK_HEAD
);otherwise,
refs/<refname>
if it exists;otherwise,
refs/tags/<refname>
if it exists;otherwise,
refs/heads/<refname>
if it exists;otherwise,
refs/remotes/<refname>
if it exists;otherwise,
refs/remotes/<refname>/HEAD
if it exists.
Git 文档引用 refs/remotes/origin/foo
作为符号全名或完整引用名,它们对于通过名称指定精确引用很有用,不会产生歧义——例如在自动化程序中。
请注意 mybranch
指的是您的本地 mybranch
,而不是它的跟踪分支(或远程跟踪分支)origin/mybranch
或 upstream/mybranch
.跟踪分支随着每次获取或 pull 而更新。把它们想象成你历史上的书签,或者你上次 pull 时 Remote 所在的路径上的路标。有可能——而且经常发生——mybranch
和 origin/mybranch
引用不同的提交。
对比origin mybranch
从不提及 origin/mybranch
或 mybranch
. Git 没有“/
运算符(operator)。”这种想法使这两个独立的论点脱离了上下文。请记住,Git 是一套命令行工具,命令行工具接受参数作为位置参数,而 Unix 命令 shell 用空格分隔参数。在上下文中,命令
git push origin master
有一般形式
git push <remote> <branch>
也就是说,其中一个参数命名为远程,另一个命名为(通常是本地)分支。所以在英语中,它的意思是“在我的 <branch>
上推送提交” (在本例中名为 master
)到远程(在本例中名为 origin
)。”
关于git - 为什么 Git 使用类似 "origin foo"、 "remotes/origin/foo"和 "origin/foo"等易混淆的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57312560/
public class Foo : IFoo ... 和有什么区别 IFoo foo = new Foo(); 和 Foo foo = new Foo(); 最佳答案 区别仅在于变量的声明类型。每当
class Foo { public: explicit Foo() {} explicit Foo(Foo&) {} }; Foo d = Foo(); error: no matc
是 foo as? Foo完全等同于 foo as Foo? ? 如果是,那为什么两者都有? 如果不是,那么有什么区别? 最佳答案 as?是 safe cast operator . 通常,如果您尝试
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
这个问题在这里已经有了答案: Why is there an injected class name? (1 个回答) 关闭5年前。 一位同事不小心写了这样的代码: struct foo { fo
我遇到了这些关键字::foo、::foo、::bar/foo 和 :bar/foo 您能举例说明差异吗? 最佳答案 :foo 是一个非完全限定的关键字。它没有关联的命名空间。 (name :foo)
有人问我如何简化这个 lambda (Foo foo) -> foo.getName() 还有更好的写法吗? 最佳答案 Foo::getName。 假设getName是一个实例方法,其签名中的参数列表
编写此规则集的 CSS 组合器或简写是什么? foo bar, foo biz, foo gaz > boo, foo tar { ... } 我很确定我在 MDN 的某处读到过有一个。是不是: f
我有一个用这个字符串填充的输入文本 "foo foo"但插入后字符串看起来像这样 "foo foo" .我该如何解决?我想以第一种格式显示字符串! 最佳答案 你可能有这样的事情: " /> 更改 va
假设我有一个不可复制类Foo,它的构造函数之一恰好接收到对 Foo 的引用。 class Foo { public: Foo(Foo& parent) {...} private: v
class Artist @@song_count = [] attr_accessor :name, :songs def initialize(name) @name = name
请解释为什么这些 Perl 函数的调用方式在函数定义之上决定了它们是否运行。 print "Why does this bare call to foo not run?\n"; foo; print
文件名分为三种类型 首先( Root 于某种“当前工作目录”之下) ../foo ./foo bar/foo # really in this group? 和( Root 于绝对路径,独立于 CWD
我想自动连接 foo: @Autowired Foo foo 但我无法修改类 Foo 并将其标记为 @Component。 Autowiring foo 最干净的方法是什么? 顺便说一句,如果您需要使
我一直在使用 Python 的 ElementTree 创建 XML 文档,到目前为止一切顺利。然而我现在面临的问题是,由于项目要求,我需要生成一个 XML 文档,其中包含带有开始和结束标签的元素以及
class Foo { public: Foo(){} private: Foo(const Foo &); }; Foo f(); Foo f1 = Foo(); 我发现当我将 Fo
我有一个 jquery 对话框,上面有一个按钮(我的按钮,不是对话框按钮之一)。 设置对话框后,我有以下代码: $('#bar').click(foo('baz')); 当我加载页面并显示对话框时,f
我遇到了以下变量的情况: var foo: Foo | Foo | Foo; 动态生成(使用 keyof 和 stuff),这在代码的那个点是完全有意的。但是,我需要调用像这样定义的对象内部的方法:
clang 3.5.0 和 gcc 4.9.1 从代码生成的可执行文件 #include struct Foo { Foo() { std::cout << "Foo()" << std::e
对于声明为 Foo& foo = ...; 的 foo,lambdas 的按值捕获和按引用捕获语义之间有什么区别吗? 最佳答案 我认为你已经陷入了一个常见的误解......引用是对真实对象的别名。初始
我是一名优秀的程序员,十分优秀!