git版本控制  廖雪峰老师的git教程

git是linus 1991年创建了开源的linux、、、已成为最大的服务器系统软件

集中式的版本控制器:CVS、SVN、ClearCase是IBM的收费软件特点是安装比windows还大,上传巨慢、VSS是微软的集中式自己都不用了  ,

分布式的版本控制:GIt是在BitKeeper促使下诞生的,,,,git是做快最简单最流行的

SVN 版本控制可以使用 Cornerstore

Git:  .SSH是什么 SSH是一种网络协议,用于计算机之间的加密登录

Git在Mac下的使用

Git在Mac下的使用

 基础应用:

  1. 1、创建Git
  2. $cd /创建目录
  3. $ git init
  4. Ok,可以往里边添加文件信息了,⚠️:文本用最好用UTF-8 万国码,图片只会显示变化的字节大小、微软下的Office 是二进制格式的,无法跟踪变化,不要使用微软下的记事本 因为每个文件开始都默认添加了0xefbbbf(十六进制)的字符,会有乱码建议你下载Notepad++代替记事本 记得格式改为UTF-8
  5. 2、每次添加的文件 以及改动的文件都要添加到 暂存区中: $git add <file.type>
  6. 3、提交可以都修改完了提交一次 $ git commit -m '修改备注'
  7. 4、获取log 日志 $ git log
  8. co5、获取详细的log 日志: $ git reflog
  9. 6、回到某个版本,先进行5,获得log的编号:$ git reset --hard <在5确认好的 id> 前提是没有上川岛远程库
  10. 7、撤销上一步操作 未放到暂存区的修改-》暂存区中的修改 以上两个一次选择一个撤销: $ git checkout -- <file.type>
  11. 8、获取当前的状态值: $ git status
  12. 9、删除文件 $ rm <file.type>

远程仓库 .SSH是什么 SSH是一种网络协议,用于计算机之间的加密登录

  1. 1、推到远程仓库 ,需要在本地仓库运行命令,关联仓库 $ git remote add origin git@github.com:账户名称/learngit.git
  2.  
  3. 2、第一次推上去: $ git push 就可以了,$ git push -u origin master 后边的追加可以将本地的分支和远程的分支进行绑定方便以后的操作
  4. 此后只要本地有了变化,只需要 $ git push origin master 就可以了
  5.  
  6. 3、远程仓库克隆项目 $ git clone git@github.com:....xinxi
  7.  
  8. 如果地址是 https://github.com/michaelliao/gitskills.git 可以 $ git://使用ssh 也可以使用https协议 ⚠️:https 协议速度会下降,每次上传都需要输入命令,但是在某些只开放http端喽的公司内部就无法使用ssh,只能用https
 

查看远程仓库信息:$ git remote    \详细信息 $ git remote -v

把分支push到远程仓库 : $ git push origin master

分支管理

1、查看分支:git branch

2、创建分支:git branch <name>

3、切换分支:git checkout <name>

4、创建+切换分支:git checkout -b <name>

5、合并某分支到当前分支:git merge <name>

6、删除分支:git branch -d <name>

7、强制删除分支 git branch -D <name>

---------一般合并 分支会在 fast forward 模式下,合并后之前的分支记录全部没有了,这个时候想保存记录 就可以禁止掉 fast forward-----

8、添加合并记录: $ git merge --no-ff -m '记录' <name>

9、分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样:

分支管理

Bug 分支

1、出现了问题可以创建分支解决,在合并删除分支;目前的情况是在分支dev正在开发内容,可以临时stash一下(可以多次的stash);

$ git stash     到master分支出issue-001 解决合并 删除分支issue-001 ,回到dev

$ git stash list 查看收藏列表

$ git stash pop  进行回到原来的现场并且删除收藏  进行开发

常用git stash命令:

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

Tag 标签

1、添加标签:$ git tag v1.0

2、获取标签: $ git tag

3、查看标签信息: $ git show v0.9

4、创建带有说明的标签,用-a指定标签名,-m指定说明文字:$ git tag -a v0.1 -m "version 0.1 released" 1094adb

5、删除标签;$ git tag -d v0.1

6、命令git push origin <tagname>可以推送一个本地标签;

7、命令git push origin --tags可以推送全部未推送过的本地标签;

8、命令git tag -d <tagname>可以删除一个本地标签;

9、命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

代码管理git 工具的话可以使用GitHub桌面端管理git、码云上的代码的更多相关文章

  1. 首次使用Git将码云上的代码Clone至本地

    使用Git将码云上的代码Clone至本地 1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-G ...

  2. 使用Git将码云上的代码Clone至本地

    1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git Git的网站上有详细的分各种系统的安 ...

  3. git向码云上传代码总结

    1.下载git windows下载地址:https://git-for-windows.github.io/ 2.安装git 一路确定 3.配置git 如果你要使用ssh上传代码,你需要本地生成ssh ...

  4. 关于在linux下安装git,以及在idea上将项目部署到码云上

    GIT 基于对linux感兴趣,并且也考虑到以后从事开发后也会用到linux,着实在闲余之际学学linux.最近在用VM虚拟机环境下学做一个项目,在git上卡了一点时间,但同时也收获  了不少,下面写 ...

  5. git的使用学习(七)githup和码云的使用

    1.使用GitHub 我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开 ...

  6. 【学习总结】Git学习-参考廖雪峰老师教程九-使用码云

    学习总结之Git学习-总 目录: 一.Git简介 二.安装Git 三.创建版本库 四.时光机穿梭 五.远程仓库 六.分支管理 七.标签管理 八.使用GitHub 九.使用码云 十.自定义Git 期末总 ...

  7. 使用Hexo搭建个人博客并部署到GitHub或码云上全过程

    一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...

  8. Git 把码云上被fork项目源码merge到fork出来的分支项目

    Git 把码云上被fork项目源码merge到fork出来的分支项目 By:授客 QQ:1033553122 需求描述 被fork的项目有更新代码,希望把更新的代码merge到fork分支项目 解决方 ...

  9. 把本地git仓库中的项目引入到码云上

    一.安装git软件和TortoiseGit客户端(git需配置环境变量,但安装时已经配置好,无需考虑) 二.生成公钥和私钥(建立与码云的连接) 三.在码云上新建项目(建议在组织的基础上)   四.在码 ...

随机推荐

  1. Python编程从入门到实践笔记——操作列表

    Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...

  2. [转] 以后再有人问你selenium是什么,你就把这篇文章给他

    本文转自:https://blog.csdn.net/TestingGDR/article/details/81950593 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论 ...

  3. SpringBoot从零到上线

    SpringBoot精要 SpringBoot的四个核心 1.自动配置:针对很多Spring应用程序常见的应用功能,SpringBoot能自动提供相关配置. 在任何Spring应用程序的源代码中,都可 ...

  4. MySQL 笔记整理(12) --为什么我的MySQL会“抖”一下?

    笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 12) --为什么我的MySQL会“抖”一下? 断更了一段时间,因为这几 ...

  5. C++系列总结——继承

    前言 前面讲了封装,但封装只是隐藏了类内部实现.如果使用多态隐藏类本身的话,只有封装是不够的,还需要继承. 继承 通过封装.我们把一些相关的函数和变量包裹在了一起,这些函数和变量就叫做类的成员函数和成 ...

  6. PHP信号管理

    PHP信号管理   SIGHUP     终止进程     终端线路挂断 SIGINT     终止进程     中断进程 SIGQUIT    建立CORE文件终止进程,并且生成core文件 SIG ...

  7. js循环语句

    1.for循环 for(语句1:语句2:语句3){ 代码块 } //语句1:初始化表达式; //语句2:条件表达式; //语句3:更新表达式; 2.for-in循环 for(x in object){ ...

  8. vue element-ui 分页组件封装

    <template> <el-pagination @size-change="handleSizeChange" @current-change="h ...

  9. appium+python搭建自动化测试框架_Appium元素定位(二)

    Appium元素定位: 工具:Android\android-sdk\tools    uiautomatorviewer.bat 1. id定位: self.driver.find_element_ ...

  10. pyspider爬网页出现中文乱码的解决办法

    为什么会出现乱码呢?按照binux的说法 这就是 lxml 的蛋疼之处,给它 unicode 它有的时候它不认,给它 bytes 它又处理不好 方法1: response.content = (res ...