首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

记录学github路程(二)

本地内容推送到远程,用git push 命令,其实就是把当前分支master推送到远程 由于这时远程库是空,第一次推送master时,加上-u参数,Git不但把本地分支推送给了远程新master分支...HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以HEAD指向就是当前分支。...(这个有点拗口) (2)开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,这样就能确定当前分支,以及当前分支提交点: ?...不用fast forward模式,merge之后就像这样 ? (4)分支策略:实际开发中应该按照几个原则进行分支管理 首先,master分支应该是非常稳定, 平时不能在这干活。...在master分支上发布。 干活都在dev分支上,每个人都在dev分支上干活,每个人都有自己分支,时不时合并就可以了。 所以团队合作分支就是这样子: ?

615100

史上最详细Git使用教程

大家好,又见面了,是你们朋友全栈君。...本篇为廖雪峰老师官方网站中Git教程学习笔记 Git是世界上最先进分布式版本控制系统,克隆一个项目的速度非常快 每个开发都可以从master上克隆一个本地版本库,就算没有网络,也可以提交代码到本地仓库...截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以,HEAD指向就是当前分支。...一开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支提交点: 每次提交master分支都会向前移动一步,这样,随着你不断提交...3)删除标签 创建标签都存储在本地,不会自动推送到远程,所以打错标签可以在本地安全删除; $ git tag -d 如果标签已经推送到远程,要先从本地删除,再从远程删除 $ git tag

51410
您找到你想要的搜索结果了吗?
是的
没有找到

Git学习笔记

git commit负责把暂存区修改提交了,也就是第一次修改被提交了,第二次修改不会被提交。...第一次推送后,只要本地作了提交,就可以通过命令: git push origin master 把本地master分支最新修改推送至GitHub,现在,你就拥有了真正分布式版本库!...截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以,HEAD指向就是当前分支。...一开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支提交点: ?...当我们创建新分支,例如dev时,Git新建了一个指针叫dev,指向master相同提交,再把HEAD指向dev,就表示当前分支在dev上: ?

81280

Git Submodules vs Git Subtrees(译)

近期打算用subtrees迁移所有项目,但看起来没那么简单。接下来我会解释一下为什么为什么使用Submodules or Subtrees?...这两者差别意味着,不需要推送更新到submodule因为我们直接提交更新到它指向子仓库,但推送更新到subtree则显得比较复杂,因为父仓库没有子仓库相关历史信息。...然后运行git status命令: $ git status On branch master Your branch is up-to-date with 'origin/master'....你可能已经预见一些可能会发生问题了,如果你忽略更新子仓库: 父仓库提交推送,不需要子仓库先提交推送 如果协同者推送更新包含了子仓库修改,但你没有执行git submodule update更新子仓库...,你可能得执行git add -A并降级你子仓库 拉取submodule 实际操作就是: 进入指向子仓库文件夹 拉取更新 回到父仓库root文件夹 提交更新后submodule指针 推送submodule

91820

Git入门学习到进阶2

,所以git commit负责把暂存区修改提交了,也就是第一次修改被提交了,第二次修改不会被提交。...首先,Git必须知道当前版本是哪个版本,在Git中用HEAD表示当前版本,也就是最新提交3628164…882e1e0(注意提交ID和你肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD...只有一条时间线,在Git里,这个分支叫主分支即master分支。 HEAD严格来说不是指向提交,而是指向master才是指向提交,所以HEAD指向地址就是当前分支。...(1) 一开始时候 master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支以及当前分支提交点,每次提交master分支都会向前移动一步,这样,...随着你不断提交master分支线也越来越长 (2) 当我们创建新分支,例如dev时,Git新建了一个指针叫dev,指向master相同提交,再把HEAD指向dev,就表示当前分支在dev上

89010

Git入门学习到进阶2

,所以git commit负责把暂存区修改提交了,也就是第一次修改被提交了,第二次修改不会被提交。...首先,Git必须知道当前版本是哪个版本,在Git中用HEAD表示当前版本,也就是最新提交3628164…882e1e0(注意提交ID和你肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD...只有一条时间线,在Git里,这个分支叫主分支即master分支。 HEAD严格来说不是指向提交,而是指向master才是指向提交,所以HEAD指向地址就是当前分支。...(1) 一开始时候 master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支以及当前分支提交点,每次提交master分支都会向前移动一步,这样,...随着你不断提交master分支线也越来越长 (2) 当我们创建新分支,例如dev时,Git新建了一个指针叫dev,指向master相同提交,再把HEAD指向dev,就表示当前分支在dev上

1K20

Git常用操作指南

对于Git仓库来说,每个人都有一个独立完整仓库,所谓远程仓库或是服务器仓库其实也是一个仓库,只不过这台主机24小时运行,它是一个稳定仓库,供他人克隆、推送,也从服务器仓库中拉取别人提交。...截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以,HEAD指向就是当前分支。...一开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支提交点: ?...想这时大家就会有一个疑问,为什么两种状态下我们都修改了暂存区和工作区状态,但是一个可以切换分支并且保留工作区、暂存区状态,而另一种状态就无法切换分支呢?...当"mywork"分支更新之后,它会指向这些新创建提交(commit),而那些老提交会被丢弃。

68720

Git学习笔记4】关于远程仓库必知、创建与合并分支(fast foeward模式)及解决冲突

因为要改bug还没有改完。继【Git笔记3】关于撤销、删除、恢复那些事儿之后停更了一个月!现在Git笔记回归啦。...push,-u选项指定一个默认主机,(origin就是默认主机),不带任何参数git push,默认推送当前分支,这叫做simple方式;此外,还有一种matching方式,会推送所有有对应远程分支本地分支...截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以,HEAD指向就是当前分支。 ?...一开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支提交点,HEAD指向谁,谁就是当前分支。 ?...Git新建了一个指针叫dev,指向master相同提交,再把HEAD指向dev,就表示当前分支在dev上,图示: ?

52210

【工具】Git 常用操作 - 备忘录

upstream 3 --- git push -f 忽略差异,强行推送本地分支,覆盖远程分支 一般团队合作时候,因为同事已经先推送了他代码,此时推送的话,就会先拉取他代码,并且处理差异,但是这条命令可以让我们暴力推送...git merge A 默认合并模式是fast-forward,意思是 快进 ,相当于直接吞并分支,以上面为例 先说明,每个分支都有一个指针指向当前分支最新提交,像这样 一个主分支 master 有一个指针...3、git log --stat 查看更详细提交信息,有时想看每个提交修改了什么内容 ?...5、同样master 没有指向最新提交,所以我们需要让 master指针 指向此时 master 分支最新提交git merge new_b 6、大功告成,删除 new_b ,git branch...从 test 切换到 master 之后,test 被删除了,然后可以看到 HEAD 在 test 中最后一次指向是下图中标红提交 ?

42731

史上最全​Git使用手册

实际情况往往是这样,找一台电脑充当服务器角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己电脑上,并且各自把各自提交推送到服务器仓库里,也从服务器仓库中拉取别人提交。...HEAD严格来说不是指向提交,而是指向 mastermaster才是指向提交,所以, HEAD指向就是当前分支。...一开始时候, master分支是一条线,Gitmaster指向最新提交,再用 HEAD指向 master,就能确定当前分支,以及当前分支提交点: ?...当我们创建新分支,例如dev时,Git新建了一个指针叫 dev,指向 master相同提交,再把 HEAD指向 dev,就表示当前分支在 dev上: ?...修改提交后 具体实例参考解决冲突 分支策略 在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?

2K50

Git命令语法汇总

”, 关联之后使用命令 “git push -u origin master” 第一次推送master分支所有内容。...每次本地提交之后,只要有必要就可以使用命令git push origin master推送最新修改。...HEAD指针指向master分支,master指针指向版本库commit最新位置 c. 每次commit,master指针会向前移动一步,随着不断提交master分支线越来越长。 d....每次创建新分支,如dev分支,Git会创建新分支指针dev,然后将dev指针指向master指针相同提交位置,再将HEAD指针指向dev,表明当前分支是dev。 e....1.master分支应该是稳定,仅用来发布版本,平时不能在上面干活 2.dev分支是我们工作分支,dev分支不稳定,在版本发布时再将dev分支合并到master分支 3.开发期间每个人都在dev分支上干活

83870

Git最全系列教程(三)

之后 Git 创建提交对象,除了包含相关提交信息以外,还包含着指向这个树对象(项目根目录)指针,如此它就可以在将来需要时候,重现此次快照内容了。...合并之后master 分支和 hotfix 分支指向同一位置。 在那个超级重要修补发布以后,你想要回到被打扰之前工作。...你在本地有了一个指向 teamone 服务器上 master 分支索引。 推送本地分支 要想和其他人分享某个本地分支,你需要把它推送到一个你拥有写权限远程仓库。...你创建本地分支不会因为你写入操作而被自动同步到你引入远程服务器上,你需要明确地执行推送分支操作。换句话说,对于无意分享分支,你尽管保留为私人分支好了,而推送那些协同工作要用到特性分支。...接下来,那个推送 C6 上来的人决定用衍合取代之前合并操作;继而又用 git push --force 覆盖了服务器上历史,得到 C4'。而之后当你再从服务器上下载最新提交后,会得到: ?

95530

Git学习笔记4】关于远程仓库必知、创建与合并分支(fast foeward模式)及解决冲突

push,-u选项指定一个默认主机,(origin就是默认主机),不带任何参数git push,默认推送当前分支,这叫做simple方式;此外,还有一种matching方式,会推送所有有对应远程分支本地分支...,第一次推送master分支所有内容,此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改; 分布式版本系统最大好处之一,没有联网都可以正常工作,...截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交,所以,HEAD指向就是当前分支。 ?...一开始时候,master分支是一条线,Gitmaster指向最新提交,再用HEAD指向master,就能确定当前分支,以及当前分支提交点,HEAD指向谁,谁就是当前分支。 ?...Git新建了一个指针叫dev,指向master相同提交,再把HEAD指向dev,就表示当前分支在dev上,图示: ?

63310

Git关键命令总结

origin 推送master分支所有内容 git push -u origin master # 第一次 git push origin maste 由于远程库是空,我们第一次推送master分支时...,加上了-u参数,Git不但会把本地master分支内容推送到远程新master分支,还会把本地master分支和远程master分支关联起来,在以后推送或者拉取时就可以简化命令。...干活都在dev分支上,也就是说,dev分支是不稳定,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你小伙伴们每个人都在dev分支上干活...tag # 查看所有标签,按字母排序列出 git show v0.9 # 查看标签信息 # 删除标签 git tag -d v0.1 # 因为创建标签都存储在本地,不会自动推送到远程。...(即标签不属于任何一个分支,与commit绑定) .git文件作用 - HEAD : 指向哪个分支 `ref: refs/heads/master` - logs - refs - heads

53920

git创建分支,合并分支,常用命令

之后 Git 创建提交对象,除了包含相关提交信息以外,还包含着指向这个树对象(项目根目录)指针,如此它就可以在将来需要时候,重现此次快照内容了。...合并之后master 分支和 hotfix 分支指向同一位置。 在那个超级重要修补发布以后,你想要回到被打扰之前工作。...你在本地有了一个指向 teamone 服务器上 master 分支索引。 推送本地分支 要想和其他人分享某个本地分支,你需要把它推送到一个你拥有写权限远程仓库。...你本地分支不会被自动同步到你引入远程服务器上,除非你明确执行推送操作。换句话说,对于无意分享分支,你尽管保留为私人分支好了,而推送那些协同工作要用到特性分支。...接下来,那个推送 C6 上来的人决定用衍合取代之前合并操作;继而又用 git push --force 覆盖了服务器上历史,得到 C4’。而之后当你再从服务器上下载最新提交后,会得到: ?

14.9K51

深入Git —— 从底层对象到常用命令速刷手册

拉取远程仓库有但本地没有的信息 $ git fetch 下载数据到本地仓库,需要另外进行合并 配置了跟踪远程分支 自动抓取后台合并到当前分支:$ git pull 推送到远程仓库...server 分支分歧之后补丁, 然后把这些补丁在 master 分支上重放一遍,让 client 看起来像直接基于 master 修改一样” $ git checkout master $ git...操作, 直到我手动运行 git rebase --continue 通知它继续运行 3、git log --oneline --graph --all,确认当前 HEAD 已经指向想要修改提交...多分支工作流具体步骤 假设现在有这样一个业务场景:首先开发需求 C,并把它提交 C1 发送到质量检查中心;然后开始开发需求 D,等到 C1 通过质量检查之后立即将其推送到远程共享代码仓中去。...来确保分支上有最新远程共享分支代码;然后执行git push推送 C1。

41210

你再不学Git就来不及了!!!

下面我们主要说一个关于 Git 与其他版本管理系统主要差别:对待数据方式。 Git 采用是直接记录快照方式,而非差异比较。后面会详细介绍这两种方式差别。...为了高效,如果文件没有修改,Git 不再重新存储该文件,而是保留一个链接指向之前存储文件。 Git 对待数据更像是一个 快照流。...push origin master (可以把 master 换成你想要推送任何分支) 如此你就能够将你改动推送到所添加服务器上去了。...在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。...可以添加一些参数来查看自己希望看到内容: 看某个人提交记录: git log --author=bob 2.6撤销操作 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。

12810

程序员20大Git面试问题及答案

每个开发人员都可以“克隆”在图中用“Local repository”标注存储库副本,并且在他硬盘驱动器上具有项目的完整历史记录,因此当服务器中断时,你需要所有恢复数据都在你队友本地 Git...你应该说明 “工作目录” 和 “裸存储库” 之间区别。Git “裸” 存储库包含版本控制信息而没有工作文件(没有工作树),并且它不包含特殊 .git 子目录。...从图中可以看出,每个更改首先在暂存区域中进行验证,将其称为“stage file”,然后将更改提交到存储库。9.什么是 git stash?首先应该解释 git stash 必要性。...如果是第一次推送,则进行下面命令:git push -u origin master注意:-u 是指定origin为默认主分支 之后提交,只需要下面的命令:git push origin master18...当执行提交操作(git commit)时,暂存区目录树写到版本库(对象库)中,master 分支会做相应更新。即 master 指向目录树就是提交时暂存区目录树。

17410

Git 入门精讲

我们为什么要学习git? 就当下发展而言,只要你从事开发就一定会接触git。作为最强大分布式版本控制器,git 与 svn 有着本质上区别。...Git是一种分布式版本控制系统,每个开发者都可以在本地维护完整代码库,可以离线工作并提交代码。...将工作区修改提交到暂存盘 git commit -m “简述” 将暂存盘里更改提交到本地仓库 此时你git push 是推送不了,会报如下信息: 它说:你还未跟踪远程地址,请执行以下命令设置默认跟踪地址...因为remote 可以配置多个远程仓库,即一个项目指向多个仓库 它不知道你要将更改推送到哪一个仓库,需要你告诉他 git push -u origin master push 推送 -u 设为默认仓库...git pull origin master 拉取指定仓库,指定分支上代码 如果git push -u 配置过默认推送地址 可以直接使用git pull git status 查看工作区状态

3500

如何在 Git 中重置、恢复,返回到以前状态

在这里我们有一个在 Git 中表示一系列提交示意图。在 Git 中一个分支简单来说就是一个命名指向一个特定提交可移动指针。在这里,我们 master 分支是指向链中最新提交一个指针。...在这之后,如果我们在当前分支(master)上运行一个 git log 命令,我们将看到只有一个提交。...为什么要优先选择 revert 而不是 reset 操作?如果你已经将你提交推送到远程仓库(其它人可以已经拉取了你代码并开始工作),一个 revert 操作是让他们去获得更改非常友好方式。...换句话说就是,只要我们知道我们所指向原始提交,我们能够通过简单返回到分支原始链头部来“恢复”指针到前面的位置: git reset 当提交被替换之后,我们在 Git...从本质上来说,Git 将一个分支中每个不同提交尝试“重放”到另一个分支中。

3.5K20
领券