git 进阶篇
在git使用时,有时需要在公司内部搭建自己的git服务器,用于内部的版本控制。
从远程服务器到本地
先创建服务器端的空git库,将其clone到本地,再将本地的修改push到服务器端
# step1:
git init --bare sample.git # 在服务器上创建空的git版本库
chgrp 用户名 文件名 -R # ubuntu系统上有时,用户与组需要更改
chown 用户名 文件名 -R
# setp2:
git clone git@10.10.10.10:/home/git/sample.git # clone 空的git库到本地
# step3:
# 由于远程库是空的,我们第一次推送master分支时,加上了-u(--set-upstream)参数,git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push -u origin master
从本地到远程服务器
# setp1: 本地初始化一个git仓库
git init
# step2: 将远程与本地建立连接
git remote add origin git@10.10.10.10:/home/git/sample.git
# step3: 假设本地分支为dev,远程无此分支,现需要在远程新建此分支
git push --set-upstream origin dev
远程分支与本地分支 常用关系
场景1:已有本地分支,需要创建对应的远程分支
# dev为本地分支,但远程没有。指令可以自动在远程创建一个dev分支,并被本地dev分支track
git push --set-upstream origin dev
场景2:已有远程分支,需要创建对应的本地分支
# dev为远程分支,但本地没有。指令可以自动在本地创建一个dev分支,并track远程dev分支
git checkout --track origin/dev
场景3:已有本地分支和远程分支,让它们建立track
# dev_local 与 dev_remote分支 自动实现track
git branch --set-upstream-to=origin/dev_remote dev_local
常用指令
log相关
git log # 显示提交日志
git log --pretty=oneline #输出日志按行显示
远程分支相关
为一个项目添加多个远程仓库
git remote add github https://github.com/xxx/sample.git
查看远程仓库信息
# 查看名为 origin 的远程仓库
git remote show origin
git remote -v # 列出remote的一些信息
删除远程仓库
# 删除名为 origin 的远程仓库
git remote rm origin
为名为 origin 的远程仓库,添加两个url,从而一次push,可以推送到多个远程仓库。 修改.git/config文件中内容
[remote "origin"]
url = https://gitee.com/xxx/sample.git
url = https://github.com/xxx/sample.git
fetch = +refs/heads/*:refs/remotes/origin/*
分支相关
git branch -vva # 查看远程与本地分支
git branch new_branch # 新建一个分支,必转到新分支
git checkout new_branch
git checkout -b new_branch # 与楼上功能相同
push相关
查看分支的 upstream 命令
git config --get branch.<分支名>.remote
设置分支的 upstream
# push时加上-u 或 --set-upstream
git push -u origin master
# 显示设置
git branch -u orgin/master
git branch --set-upstream-to=origin/master mster
删除分支的 upstream
git branch --unset-upstream
git pull 相关
若是有报错:
refusing to merge unrelated histories
执行
git pull origin master --allow-unrelated-histories
实现pull
git pull
# 等同于下面两条指令
git fetch
git merge FETCH_HEAD
git pull origin master:brantest # 将origin的master分支拉取过来,与本地的brantest分支合并
git pull origin master # 将远程分支与当前分支合并
git 进阶篇的更多相关文章
- 2.git进阶篇总结
阅读 Git 原理详解及实用指南 记录 进阶 1 - HEAD.master 与 branch: 介绍了 Git 中的一些「引用」:HEAD.master.branch.这里总结一下: HEAD 是指 ...
- Sass进阶之路,之二(进阶篇)
Sass之二(进阶篇) 1. 数据类型 1.1 Number 数字类型,小数类型,带有像素单位的数字类型,全部都属于Number类型 Number类型详情请点击这里,下面是小例子 1.$n1: 1.2 ...
- Vue进阶篇
前引 今天是2018年12月30,虽不是2018年的最后一天,但是却是自己在2018年写的最后一篇博客了,昨天下班在地铁上闲来无事,翻起了关注的一些公众号发的技术博文,里面就提到写博客的重要性,其实这 ...
- PowerShell攻防进阶篇:nishang工具用法详解
PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...
- CocoaPods详解之(二)----进阶篇
CocoaPods详解之----进阶篇 作者:wangzz 原文地址:http://blog.csdn.net/wzzvictory/article/details/19178709 转载请注明出处 ...
- Git进阶:常用命令和问题案例整理
一.前言 整理常用git命令和以及在实际使用的过程中碰到的问题案例,旨在git进阶,提升工作开发效率,有需要补充的小伙伴欢迎下方留言,本篇持续更新中... 二.命令 配置用户名和邮箱 git conf ...
- 2. 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml
目录 堪比JMeter的.Net压测工具 - Crank 入门篇 堪比JMeter的.Net压测工具 - Crank 进阶篇 - 认识yml 堪比JMeter的.Net压测工具 - Crank 进阶篇 ...
- labview从入门到出家5(进阶篇)--程序调试以及labview函数库的运用
跟了前面几章的操作流程,相信大家对labview有了一定的认识.其实只要了解了labview的编程思路,再熟悉地运用各个变量,函数以及属性,那么我们就可以打开labview的大门了.跟其他编程语言一样 ...
- Membership三步曲之进阶篇 - 深入剖析Provider Model
Membership 三步曲之进阶篇 - 深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它. Membershi ...
随机推荐
- java数组---特点,边界
数组的四个基本特点 1.其长度是确定的.数组一旦被创建,它的大小就是不可以改变的. 2.其元素必须是相同类型,不允许出现混合类型. 3.数组中的元素可以是任何数据类型,包括基本类型和引用类型. 4.数 ...
- Stringboot中@Autowired加了static就属性值就为null
//错误 @Autowired private static DepartmentDao departmentDao; @Autowired注入,将bean注入进来 @Autowired通过sprin ...
- python自学笔记10:while循环和for循环
条件控制和循环控制是两种典型的流程控制方法,前面我们写了 if 条件控制,这节讲 for 循环和 while 循环. 循环是另一种控制流程的方式,一个循环体中的代码在程序中只需要编写一次,但可能会连续 ...
- GNSS模块使用笔记
目录 目录 GNSS芯片 NMEA0183 协议 指令 GNSS TO MCU MCU TO GNSS GNSS芯片 ATGM336H-5N31(GPS+BDS双模) 原理图 NMEA0183 协议 ...
- KingbaseES 数据库删除功能组件
关键字: KingbaseES.卸载.删除功能 一.安装后检查 在安装完成后,可以通过以下几种方式进行安装正确性验证: 1. 查看安装日志,确认没有错误记录; 2. 查看开始菜单: 查看应用程 ...
- spark 解决 java.util.Date is not a valid external type for schema of Date
出错伪代码如下: //出错的点在这里 import java.util.Date ... val t_rdd = t_frame.rdd.map(row => { val photo_url = ...
- Hive的基本知识与操作
Hive的基本知识与操作 目录 Hive的基本知识与操作 Hive的基本概念 为什么使用Hive? Hive的特点: Hive的优缺点: Hive应用场景 Hive架构 Client Metastor ...
- 部署Zabbix4.0和Grafana
部署Zabbix4.0和Grafana 一.Zabbix 1.安装 rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-r ...
- 《Java基础——选择语句》
Java基础--选择语句 1. if语句; 规则: 1. 首先计算表达式的值. 2. 若表达式为真,则执行对应语句,为假则不执行. 格式一: if(表达式) 语句;//多个语句可用{} ...
- Java中的Optional
在我们日常的开发中,我们经常会遇到 NullPointerException.如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法 java.util.Optional 使用Optional来修饰 ...