git使用进阶(一)
前言:继上篇文章《git常规操作》后,对git使用过程中经常出现问题的梳理。
目录
1. git本地查看历史版本并切换
2. 本地与remote建立连接
3. 连接取消
4. git push进阶
1. git本地查看历史版本并切换
git切换到历史版本时需要根据历史版本号来切换,这一点和SVN相比没有那么方便,SVN中直接有UI查看历史版本并查看对应修改的地方。
在git中首先使用git log查看历史版本,如下:
其中:commit后面的黄色序列即为版本号,很长。需要切换到对应的版本时,需要复制该序列,然后使用命令:
git checkout 版本序列号
即可切换到对应的版本。
2. 本地与remote建立连接
1. 本地创建文件夹;
2. 在文件夹位置打开bash终端,并输入git init创建仓库;
3. remote的web端建立仓库,并提前创建好空分支;
4. 在本地的bash终端输入如下命令与remote分支建立连接,repository url为remote段http地址。
git remote add origin [repository url]
5. 使用命令查看所有的远程主机
git remote
6.获取所有远程主机的分支
git remote update origin --prune
7. 查看所有的远程分支
git branch -r
8. 切换到你在web端创建仓库时所设置的默认分支;
git checkout [默认分支]
9. 此时如果本地可以看到readme.md文件,则说明已成功建立连接。
10. 此时当你重新打开一个bash终端时,发现可以看到前面显示的分支号了,但是使用git branch时还看不见其他的分支,只显示了当前的分支,使用git branch -r查看remote端的分支名,在本地git checkout [分支名]即可切换到对应的分支,当切换过后,该分支使用git branch命令就能查看到了。
3. 连接取消(慎用)
如要取消本地与远程仓库的连接,命令如下:
git remote remove origin
但该命令一般不建议在操作中使用,当使用该命令后,本地再与新的remote仓库建立连接时,常常出现各种问题,如在git pull时,报错refusing to merge unrelated histories,或者出现merge conflict。因此博主建议重新git clone,不要取消连接。
4. git push进阶
git push
命令用于将本地分支的更新,推送到远程主机。
git push origin
上面命令表示,将当前分支推送到origin主机的对应分支,如果当前分支只有一个追踪分支,那么主机名都可以省略
git push
如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机,这样后面就可以不加任何参数使用git push
git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。
git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
完整命令:
git push <远程主机名> <本地分支名>:<远程分支名>
注意:这里的:前后是必须没有空格的。
git使用进阶(一)相关推荐
- Git步步进阶---Git tag操作全解析
为什么要写这篇Git tag文章呢? 虽然已经使用Git很长时间,并且自认为对Git的操作也到了掌握的相当好的程度,但是当服务端部分的开发转向Go时,突然需要进行Git tag操作的地方多了起来,因为 ...
- 通过码云来学习Git的进阶技能(文末附福利!)
写在前面: 博主是一名大数据的初学者,昵称来源于<爱丽丝梦游仙境>中的Alice和自己的昵称.作为一名互联网小白,写博客一方面是为了记录自己的学习历程,一方面是希望能够帮助到很多和自己一样 ...
- git使用进阶(一)——工作区和log
前言 git的基础操作比较简单,之前我也有过基础操作的记录git操作笔记,但是实际使用时会发现,如果只会最基础的使用,就会有很多需求场景都不能满足,甚至会出错了也不知道为什么,因此在基础使用的基础上, ...
- Git步步进阶---实战git的windows安装和使用
下载和安装: 1,下载git:http://msysgit.github.io/ 2,安装git ,我们选择命令行形式,这样无论在window下还是在linux下 都可以 3,一直next下去就安装完 ...
- Git步步进阶---完美实战git tag所有操作
编者言:使用git tag是开发者的一项基本技能,他本质上是一个有标记的压缩包,当你的代码完成某些功能并上线没有问题的时候,这时你就需要打下一个tag(即将当前的代码保存起来并做上标记),这意义重大: ...
- 11 Git原理进阶
本节视频: 本节学习文件的状态及其转换过程,从而帮助学习者建立起文件状态与git命令之间的联系,进一步深化对Git过程的理解. (1)文件状态及其与Git命令的联系 文件在不同工作区域流转时,处于不同 ...
- Git步步进阶---参与开源提交PR步骤完全揭秘
参与开源.贡献开源已成为很多开发者实现自身价值的一种表达方式.那么,如何从一个小白晋升到提一个PR被提交呢? 一般的参与流程又是有哪些呢?本篇文章将一一揭晓. step1: 选择issue并标注 为什 ...
- Git log、diff、config 进阶
前一段时间分享了一篇<更好的 git log>简要介绍怎么美化 git log 命令,其中提到了 alias命令,今天再继续谈谈 git相关, 看看如何通过配置自己的 git config ...
- Git log diff config高级进阶
Git 历史相关和 git config 高级进阶 前一段时间分享了一篇<更好的 git log>简要介绍怎么美化 git log 命令,其中提到了 alias命令,今天再继续谈谈 git ...
最新文章
- iOS 时间选择器封装(含三种模式)
- PHP mongodb 的使用
- python3 多进程 multiprocessing 报错 AttributeError: ‘ForkAwareLocal‘ object has no attribute ‘connection‘
- client-go删除job同时删除job关联的pod
- FinanceJson
- Pandas打印所有行和列(显示所有的行和列)
- 深入理解HTTP协议
- (翻译)31天Windows Phone学习-1-项目模板
- c语言 抽奖算法,腾讯2018校招笔试!抽奖算法思路c++实现!进入鹅厂真的简单!...
- Selectsort Tournamentsort Heapsort
- uni的numberbox怎么用_jQuery EasyUI表单插件Numberbox数字框
- 大麦无线路由器改装打印服务器,大麦domywifi DW33D路由器固件openwrt重分区版
- 【计算机视觉40例】案例39:易容术(换脸术、合成人脸)
- 基本知识 100052
- 0-5V转4-20mA信号隔离器、0-10V转换器、直流模块
- kodi 默认桌面_如何自定义Kodi新的默认外观河口
- 利用python进行prosper贷款数据EDA分析(一)
- Type-C接口原理图,附引脚说明
- 以太坊合约实现批量转账(空投)原理解析
- 基础运放电路-含波形图分析-运算放大器