origin是对项目最初克隆(clone)的远程仓库的缩写。
更准确地说,origin 是用来代替原始(original)远程仓库的URL, 从而使在git 命令中使用原始仓库更加容易。
master 是分支的命名约定。
从远程服务器克隆后,生成的本地存储库只有一个本地分支:即所谓的“主”分支。这意味着“master”可以被视为本地存储库的“默认”分支.
首先来讲HEAD分支:
在使用Git时,一次只能check out出一个分支, 这个checkout 的分支就是所谓的HEAD分支, 也就是所谓的活动(active)分支或者当前(current)分支。
下面讲HEAD:
在Git存储库中的.Git /HEAD文件中记录当前分支的最新提交(commit). 可以通过如下命令查看
$ cat .git/HEAD
ref: refs/heads/val_memleak$ cat refs/heads/val_memleak
882334edfdsfsf3434fdfsfaa
HEAD: 指向当前checkout 分支的最新提交版本.
HEAD^1: 次最新版本,也就是倒数第二个版本,可以写为HEAD^
HEAD^^: 次次最新版本,依次类推。
remote是一个公共存储库,所有团队成员都使用它来交换更改。
在大多数情况下,这样的远程存储库存储在像GitHub这样的代码托管服务或内部服务器上.
rebase命令将更改从一个分支集成到另一个分支。它是“merge”命令的另一种选择.
rebase与merge的不同之处是,它重写提交历史以产生一个笔直的、线性的提交序列。
Fetch from and merge with another repository or a local branch.
git pull [options] [
将远程(remote)服务器或者本地分支的改动下载并更新到本地checkout 的分支(也就是HEAD分支).
git pull
is shorthand for git fetch
followed by git merge FETCH_HEAD
.
git pull
= git fetch
+ git merge FETCH_HEAD
默认是merge,可用--rebase来指定rebase.
tag用于标记特定的提交(commit),例如发布版本。
tag和branch之间的最大区别:当进行额外提交时,分支指针会移动,而标记在指定的修订上保持不变
A ref is an indirect way of referring to a commit. You can think of it as a user-friendly alias for a commit hash. This is Git’s internal mechanism of representing branches and tags.
ref是引用提交(commit)的一种间接方式。您可以将它看作commit hash 的用户友好的别名。这是Git表示分支和标记的内部机制。
在git 的配置文件.git目录下有refs文件夹,其中:
The heads
directory defines all of the local branches in your repository;
The remotes
directory lists all remote repositories that you created with git remote
as separate subdirectories
私信我,回复:学习,获取免费学习资源包。在 2005 年的某一天,Linux 之父 Linus Torvalds 发布了他的又一个里程碑作品——Git。它的出现改变了软件开发流程,大大地提高了开发流畅度!直到现在仍十分流行,完全没有衰退的迹象。本文不是一篇 Git 入门教程,这样的文章一搜一大把,我是要从具体实践角度,尤其是在团队协作...
开发中,发现有错误版本提交带远程分支master,怎么处理? 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客。 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版本到远程分支,怎么回退远程分支版本? 如果提交了一个错误的版本到公共远程分支,又该怎么回退版本? 3...
文/AbnerKang(简书作者)原 文链接:http://www.jianshu.com/p/d7a7ba4f2341?utm_campaign=maleskine& utm_content=note&utm_medium=reader_share&utm_source=weixin&from=timeline&isappins...
现有版本; h20, h28,h26,i8 h28,h26,i8是从H20下面创建的。 需求: 从H28下面创建新分支继续开发。 思路: 所有代码均是放置到H20上仓库当中,首先下载H20完整仓库,也就是.git文件夹当中内容,其本质是一个ZIP文件。 然后从仓库当中取出某一个分支(如H28),这就是同步到某个分支的所有代...
题目:复杂链表的复制 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出...
给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5 使用双指针的方式,各自构造一个大元素的头节点和小元素...
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 示例 1: 输入:head = [3,2,0,-4], pos = 1...
题目描述如下: 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 很明显这个题目是206 反转链表的进阶版 需要记录第m-1个节点和第n+1个...
描述如下: 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 方法一:原地反转 数据结构如下 struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}...
一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origi...
安装githttps://www.git-scm.com/download/ 点击 安装好了之后,在开始菜单里面找到Git Bash git config --global user.name "你的github用户名" git config --global user.email “你的github邮箱” 查看是否登录账户配置成...
了解Git和GitHub、虚幻引擎C++项目的版本控制等等! 你会学到: Git是如何工作的 如何从命令行使用Git 使用GitHub、GitHub桌面应用程序、Visual Studio中的Git工具和VS代码等Git工具 在虚幻引擎5和虚幻引擎4中使用Git跟踪虚幻引擎项目 在Visual Studio和Visual Stu...
在 oh-my-zsh 进入 包含 git 仓库目录时,执行 ls 时会比较卡顿 原因: oh-my-zsh 要获取 git 更新信息 解决办法: 设置 oh-my-zsh 不读取文件变化信息(在 git 项目目录执行下列命令) $ git config --add oh-my-zsh.hide-dirty 1 如果还是...
gitlab创建项目a及一个主分支master 本地整体复制已有项目b 本地克隆gitlab上新创建的项目a(git clone gitlab地址) 将本地克隆过来的a文件夹下的.git目录拷贝到b项目下(cp -r .git …/b,注意是两个点,不是三个点,写两个点后,编辑器一直给输出三个点,晕) 删除本地克隆过来的项目a,将本地...