• git clone命令笔记

作用:远程克隆版本库
1. 克隆版本库
git clone <版本库的网址>
git clone zoran@192.168.2.167:/data/gitdata/gittest.git
如果想用其它主机名:
git clone -o zhangsan <版本库的网址>
git clone -o zoran zoran@192.168.2.167:/data/gitdata/gittest.git
2.克隆版本库到指定路径
git clone <版本库的网址> <本地目录名>
git clone zoran@192.168.2.167:/data/gitdata/gittest.git zoran
2.克隆支持的协议类型
支持:HTTP(s)、SSH、Git、本地文件协议等,如:
git clone http[s]://example.com/path/to/repo.git/ 
git clone ssh://example.com/path/to/repo.git/ or
 git clone zoran@192.168.2.167:/path/to/repo.git 
git clone git://example.com/path/to/repo.git/ 
git clone /opt/git/project.git git clone file:///opt/git/project.git
 git clone ftp[s]://example.com/path/to/repo.git/ 
git clone rsync://example.com/path/to/repo.git/
  • git fetch命令笔记

主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令,只跟新不合并。
1. 全部更新回本地
git fetch <远程主机名>
git fetch origin
git fetch .
2. 更新指定分支
git fetch <远程主机名> <分支名>
git fetch origin dev
git fetch origin master
tips:取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取。
3. 查看远程分支
git branch -r
4. 查看远程所有分支
git branch -a
5.更新并创建新分支
git checkout -b newBrach origin/master
tips:在origin/master的基础上,创建一个新分支
6. 本地分支上合并远程分支
git merge origin/master # 或者 git rebase origin/master
tips:表示在当前分支上,合并origin/master。
  • git pull命令笔记

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并
1.取回分支更新,与本地指定分支合并
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin next:master //origin主机的next分支,与本地的master分支合并
如果远程分支是与当前分支合并,则冒号后面的部分可以省略,如:
git pull origin dev
实际取回origin/dev分支,再与当前分支合并。实质上,这等同于先做git fetch,再做git merge。
git fetch origin git merge origin/dev
2.手动指定(追踪)本地分支与远程分支的关联
git branch --set-upstream-to=origin/next //当前分支关联远程origin/next分支
如果当前分支与远程分支存在关联关系,git pull可以省略远程分支名,如:
git pull origin
如果当前分支只有一个追踪分支,连远程主机名都可以省略,如:
git pull
如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。
git pull -p
# 等同于下面的命令
git fetch --prune origin
git fetch -p
3. rebase模式合并
git pull --rebase <远程主机名> <远程分支名>:<本地分支名>
git pull --rebase origin dev:dev
  • git push命令笔记

git push命令用于将本地分支的更新,推送到远程主机。
1. 本地分支的更新推到远程主机
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin dev:dev
如果省略远程分支名,则表示将本地分支推送与之存在"链接(追踪)关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
git push origin dev//本地dev分支推送到origin主机的dev分支;如果后者不存在,则会被新建.
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin :dev
# 等同于
git push origin --delete master //删除origin主机的master分支
2.本地分支对应多个远程主机,可推送到指定主机,并设置默认主机,使用git push就可以不加任何参数了
git push -u <远程主机名> <本地分支名称>
git push -u origin master //本地的master分支推送到origin主机,同时指定origin为默认主机
3.不管是否存在远程分支,都可以将本地分支推到远程
git push --all origin //本地分支都推送到origin主机
4.远程主机比推送版本新,如需强制推送
如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异,然后再推送到远程主机。这时,如果你一定要推送,可以使用--force选项。-使用场景,确定代码是你提交,存在错误,不需要处理差异,直接覆盖,可以这么做,慎用。
git push --force origin
5.git push不推送标签(tag),如需推送标签
git push origin --tags //使用--tags选项
  • git remote命令笔记

git remote
Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。
1.列出所有远程主机
git remote
2. 查看远程主机的网址
git remote -v
3. 克隆版本库自定义名称
tips:克隆版本库的时候,所使用的远程主机自动被Git命名为origin。如果想用其他的主机名,需要用git clone命令的-o选项指定。
git remote 输出 jQuery
4. 查看主机详细信息
git remote show <主机名>
git remote show origin
5. 远程主机改名
git remote rename <原主机名> <新主机名>
git remote rename origin zoran
6.添加远程主机
git remote add <主机名> <网址>
git remote add zoran zoran@192.168.2.167:/data/gitdata/gittest.git
7. 删除远程主机
git remote rm <主机名>
git remote rm origin

git clone、 remote、fetch、pull、push、remote的更多相关文章

  1. GIT(6)----fork和clone的区别,fetch与pull的区别

    参考资料: [1].Git学习笔记:fork和clone的区别,fetch与pull的区别 [2].在Github和Git上fork之简单指南

  2. 【Git】Gitlab添加SSH key可以pull不能push的问题

    背景:使用webhook 钩子进行代码的自动更新 完整过程: https://zhuanlan.zhihu.com/p/93223263 问题: 在进行git pull 时候.报错了 这是gitlab ...

  3. git fetch, merge, pull, push需要注意的地方(转)

    在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...

  4. git fetch, merge, pull, push需要注意的地方

    在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...

  5. push 、pop 、unshift 、shift

    push .pop : 操作数组后面 unshift .shift :操作数组前面 push.unshift : 字母多的添加 pop .shift : 字母少的删除 push.unshift : 添 ...

  6. git远程操作相关命令(remote 、push、fetch 、pull)

    git remote 为了便于管理,Git要求每个远程主机都必须指定一个主机名.为了便于管理,Git要求每个远程主机都必须指定一个主机名. git remote[查看创库名] git remote 在 ...

  7. git clone、git pull和git fetch的用法及区别

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流.Git 常用命令速查表 最近在一个学习小组里学习AI的课程,我们所有的学习资料和homework都放在gitlab上.今天一个小队友从gitlab ...

  8. git pull 、git fetch、 git clone

    git clone 代表从远程克隆过来包括所有的版本信息 git fetch是从远程获取最新的版本 git pull相当于 git fetch 然后再git merge

  9. 在linux下执行git clone、git pull 、git push等操作免密

    1. 通过ssh密钥实现 ssh-keygen -t rsa -C "你的邮箱" -f "自己定义的目录" 打开: id_rsa.pub ,将文件内容复制到 g ...

随机推荐

  1. SpringMVC 一次请求加载Controller多次

    原因之一:HTML页面中 css样式 background:url() 或 img.iframe标签 src设置为空 例:<div style="background:url()&qu ...

  2. swoole组件----mysql查询,插入数据

    注意!任何swoole函数都应该包含在go(function(){}) 经典查询方法query() go(function (){ $swoole_mysql = new Swoole\Corouti ...

  3. jmeter+ant+jenkins搭建自动化测试环境(基于linux)

    安装CentOS7操作系统 关闭系统防火墙 [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# syste ...

  4. django post请求 403错误解决方法

    --摘 第一次用Django做项目,遇到了很多问题. 今天遇到的问题是Django在处理post请求时多次出现403错误. 我先描述一下问题出现的环境:我用Django写了一个web服务端,姑且称它为 ...

  5. ueditor实现ctrl+v粘贴word图片并上传

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用,但是项目要求需要支持所有的浏览器,包括Windows和macOS系统.没有办 ...

  6. windows下SVN日志反馈中文乱码的解决方法

    转自:https://shiyousan.com/post/635889908703806636 TortoiseSVN中文乱码的问题困扰了我好久,特别是每次使用“以标准差异文件显示修改”时,打开的文 ...

  7. Domain Socket本地进程间通信

    socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loop ...

  8. Codeforces 1221 E Game With String

    题面 第一眼以为是SG函数找规律题,然后发现并不是公平游戏.... 不过后来想了想,其实这样反而更好做. 这个游戏的一个显然的特性是,任何时候当场上存在长度 ∈[b,a)的块时,Bob必胜.(考虑贪心 ...

  9. Magic Points ZOJ - 4032

    The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple Magic Points ZOJ - ...

  10. Tomcat部署时war和war exploded区别以及如何实现热部署

    war和war exploded的区别       使用IDEA配置Tomcat服务的时候,在 Select Artifacts to Deploy 选项中相同项目名有war和 war explode ...