Git 学习第三天(一)
远程克隆:
在github新建一个仓库,起名为gitskills

勾选此项,会自动创建一个readme.md文件,然后通过命令
git clone git@github.com:Your.name/gitskills.git
克隆到本地仓库中

比如,我在gitskills 下添加了一个文件,那么,想同步推送到github上,就需先进去gitskills文件夹
cd gitskills
然后再执行 git add git commit git push 等草做推送到远程仓库。
_____________________________________________________________
分支管理:
创建分支 dev ,然后切换到 dev 分支,
git checkout -b dev
加上 -b 参数是指创建并切换,
实际上,这相当于两条命令
git branch dev ------- 创建分支
git checkout dev --------- 切换分支
git branch ------ 显示所有分支

当前分支前会有 * 号
当前分支的操作不会影响其它分支,比如,我在dev分支下,对readme.txt 文件修改了内容,并且推送到版本库中,然后切换回master分支,查看readme.txt内容,发现,并没有改动.
git checkout master -------切换分支到master
将dev分支合并到master分支
git marge dev ----------- 将dev分支合并到当前分支
在dev修改的内容会合并到master上,在master分支上查看内容,发现,master分支下的readme.txt文件内容增加了再dev分支下的修改.
使用完dev 分支,我们就可以将之删除掉,
git branch -d dev
此时,再查看
git branch ,分支就只有master 了.
解决冲突:
我们创建一个分支 feature1,
git checkout -b feature1
然后在当前分支下修改readme.txt

git add 提交到暂存库 git commit 提交到版本库
接下来,切换回master分支,修改readme.txt 内容为

git add 提交到暂存库 git commit 提交到版本库
然后合并feature1到master
git merge feature1

果然冲突了!Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件:

查看 master 分支下readme.txt

HEAD 即 master 分支下为:

feature1 分支下为:

此时,需要我们手动解决冲突,修改为:

git add 提交到暂存库 git commit 提交到版本库
查看文件:

用带参数的git log也可以看到分支的合并情况:

最后,删除feature1分支:
$ git branch -d feature1
Deleted branch feature1 (was 75a857c).git log --graph命令可以看到分支合并图。
Git 学习第三天(一)的更多相关文章
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- Git学习(三)——暂存区、远程仓库、增删改管理
一.工作区和暂存区 工作区(Working Directory) 就是在你的电脑里能看到的目录 版本库(Repository) 工作区中的一个隐藏目录.git,这个不算工作区,而是Git版本库.Git ...
- Git学习笔记(三)
Git提交相关内容 在Git提交时,会保存一个提交对象,该对象包括一个指向暂存区内容快照的指针,包括本次提交作者等相关附属信息,包括零个或多个指向该提交对象的父对象指针:首次提交时是没有祖先,普通提交 ...
- Git学习教程三之分支管理
实战流程: 1:代码库克隆一份至本地 2:新分支操作 2.1 在需要的文件中创建并指向新的分支方便写代码 git checkout -b <name> 2 ...
- Git 学习第三天(二)
默认情况下, Git合并是采用"fast forward"模式,但这种模式下,如果删除分支,会丢掉分支信息 禁用 fast forward 模式: git merge --no-f ...
- git学习(三):版本控制
查看每次修改日志 git log 会显示每次修改的日期和相应提交的commit 版本控制 git reset --hard <版本id> 这里的id可以是HEAD^(上一个) HEAD^^ ...
- git学习笔记三
1.每个分支的历史版本维护信息位置是.git/logs/refs/heads/master,这个位置的信息是文本文件,不是引用. harvey@harvey-Virtual-Machine:~/dem ...
- Git学习笔记三--管理修改、撤销修改、删除文件
1.管理修改 什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改. 为什么说Git ...
- Git学习总结三(工作区和暂存区、撤销修改)
工作区和暂存区 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区: 版本库(Repository) 工作区有一个隐藏目录.git, ...
随机推荐
- java获取字符串编码和转换字符串编码
public class EncodingUtil { // 这里可以提供更多地编码格式,另外由于部分编码格式是一致的所以会返回 第一个匹配的编码格式 GBK 和 GB2312 public stat ...
- kmp与扩展kmp模板
kmp 1 #include <algorithm> 2 #include <iostream> 3 #include <cstring> 4 #include & ...
- csdn加入暂时会话功能
版权声明:本文为博主原创文章.若要转载请注明出处! ^_^ https://blog.csdn.net/u010892841/article/details/25334153 ...
- JQ实现仿淘宝条件筛选
首先看下效果: Js代码: <script type="text/javascript"> $(".search_qxxx > ul > li & ...
- 2019-8-31-How-to-parse-version-range
title author date CreateTime categories How to parse version range lindexi 2019-08-31 16:55:58 +0800 ...
- ubuntu14.04 配置android studio环境
二.复制所需的文件到ubuntu 2.1.如果你还没有linux版本的android studio.sdk.jdk请先下载所需文件,我已经上传到百度网盘了 下载地址: android studio-l ...
- (转)Unity Cinemachine插件,实现单目标和多目标之间切换
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换*版本要求Unity2017.1及以上. 参考资料: [官方] Unity 2017.1正式版发布 Cinemachine插件 ...
- transformer模型计算图
参考了这篇文章:http://nlp.seas.harvard.edu/2018/04/03/attention.html 结合代码和图,能更加清楚的了解transformer中的一些原理(ps,等下 ...
- qt大小写字符串比较
https://blog.csdn.net/GraceLand525/article/details/48625593 Qt::CaseSensitivity cs = Qt::CaseInsensi ...
- volatile(防止编译器对代码进行优化)
adj.易变的:无定性的:无常性的:可能急剧波动的 网络挥发性:挥发性的:不稳定的 volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了.