第一步:设置全局变量:

git config --global user.name "gang.li"
git config --global user.email "ligang@ptthink.com"

第二步:初始化仓库,并推送到远程仓库(假设第一次推送运行此步骤,否则跳过此步骤):

/* 创建项目目录,并初始化仓库 */
mkdir test
cd test
git init
/* 新增README文件。并提交*/
touch README
git add README
git commit -m 'first commit'
/* 关联远程仓库,并推送 */
git remote add origin git@git.*.jp:gitlab/test.git
git push -u origin master

第三步:克隆远程主机项目到本地,并建立相应分支

git clone git@git.*.jp:gitlab/test.git
git checkout -b develop
git branch --set-upstream develop origin/develop(git branch --set-upstream-to=origin/develop develop)

第四步:增删操作,并推送到指定远程分支

/* 删除文件(git rm 本地文件并不会被删除) */
git rm -rf target
git add .
git commit -m "claer"
git push origin develop

第五步:合并分支:

/* 查看全部分支 */
git branch -r/-a
/* 合并develop到master分支 */
git checkout master
git merge --no-ff develop
git push origin master

默认情况下,Git运行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。使用--no-ff參数后,会运行正常合并。在Master分支上生成一个新节点。

一、从远程主机克隆一个版本号库

(1)git clone <版本号库的网址>

(2)克隆版本号库的时候,所使用的远程主机自己主动被Git命名为Origin。假设想用其它的主机名。使用-o指定:

git clone -o jQuery https://github.com/jquery/jquery.git

二、远程主机管理

为了便于管理,Git要求每一个远程主机必须指定一个主机名。

(1)列出全部远程主机:git remote

(2)查看远程主机网址:git remote -v

(3)查看主机具体信息:git remote show origin

(4)加入远程主机:git remote add <主机名> <网址>

(5)删除远程主机:git remote rm <主机名>

(6)重命名远程主机:git remote rename <主机名> <网址>

三、取回本地

(1)所有取回本地,不自己主动合并:git fetch <远程主机名> <分支名>

(2)取回远程主机某个分支的更新,再与本地的指定分支合并:git pull <远程主机名> <远程分支名>:<本地分支名>

取回origin主机的next分支,并与本地的master分支合并:git pull origin next:master

假设远程分支与当前分支合并,则冒号后面的部分可省略:git pull origin next

(2)手动建立追踪关系:git branch --set-upstream master origin/next

PS:git pull origin next  等价于:git fetch origin   git merge origin/next

四、推送到远程

(1)将本地分支的更新。推送到远程主机:git push <远程主机名> <本地分支名>:<远程分支名>

(2)假设省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名)。假设该远程分支不存在,则会被新建:git push origin develop

(3)假设省略本地分支名,则表示删除指定的远程分支,由于这等同于推送一个空的本地分支到远程分支:

git push origin :master

等价于:git push origin --delete master(删除origin主机的master分支:git push

(4)假设当前分支仅仅有一个追踪分支。那么主机名都能够省略:git push

注意,分支推送顺序的写法是<来源地>:<目的地>。所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。

五、其它命令

(1)gitk:打开图形化界面

(2)git --help

(3)git merge --help

五步掌握Git的基本开发使用命令的更多相关文章

  1. 软件工程 Coding.net代码托管平台 Git初学者的使用总结 五步完成 程序,文件,文件夹的Git

    一.前言 第一次用git相关的命令行,我使用的是Coding.net代码托管平台.Coding.net 自主打造的基于 Git 的代码托管平台,提供高性能的远端仓库,还有保护分支,历史版本分屏对比. ...

  2. 五分钟上手Git

    团队开发中.遵循一个合理.清晰的Git使用流程.是非常重要的.否则,每一个人都提交一堆杂乱无章的commit,项目非常快就会变得难以协调和维护.以下是ThoughtBot 的Git使用规范流程.我从中 ...

  3. 五步搞定Android开发环境部署

    引言   在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入 Android浪潮的朋友们,为了确保大家能顺利完成开发 ...

  4. 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程

      在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭 ...

  5. 五步完成一个 VSCode 扩展(插件)开发

    第一步: 安装扩展生成器 npm install -g yo generator-code vsce 第二步: 初始化一个 Hello World 扩展 yo code 图来自 CN-VScode-D ...

  6. 深入浅出Docker(五):基于Fig搭建开发环境

    概述 在搭建开发环境时,我们都希望搭建过程能够简单,并且一劳永逸,其他的同事可以复用已经搭建好的开发环境以节省开发时间.而在搭建开发环境时,我们经常会被复杂的配置以及重复的下载安装所困扰.在Docke ...

  7. 一步一步安装Git控件版本工具

    Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/.Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.[2 ...

  8. 还在使用pdf、word简历?简单五步实现github托管个人逼格简历

    写在前面: 什么是git.github? git 版本控制工具 github 通过git工具做的版本控制的项目托管平台 项目开发肯定不止一个程序猿,多个程序猿针对同一个文件进行代码读写操作时,是先保存 ...

  9. HTML5离线Web应用实战:五步创建成功

    [IT168 技术]HTML5近十年来发展得如火如荼,在HTML 5平台上,视频,音频,图象,动画,以及同电脑的交互都被标准化.HTML功能越来越丰富,支持图片上传拖拽.支持localstorage. ...

随机推荐

  1. Python的第3堂课

    20181119笔记 一.内存管理相关 ①Cpython解释器的垃圾回收机制 什么是垃圾:当一个值没有被绑定任何变量名(即该值的引用计数为零时),该值就是垃圾. 垃圾回收是收回值占用的内存空间. 引用 ...

  2. (原)剑指offer之旋转数组

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋 ...

  3. Google 超分辨率技术 RAISR

    每天都有数以百万计的图片在网络上被分享.储存,用户借此探索世界,研究感兴趣的话题,或者与朋友家人分享假期照片.问题是,大量的图片要嘛被照相设备的像素所限制,要嘛在手机.平板或网络限制下被人为压缩,降低 ...

  4. “程序设计与算法训练”课程设计:“BP神经网络的实现”(C++类封装实现)

    一 题目: 71 BP神经网络的实现: 利用C++语言实现BP神经网络, 并利用BP神经网络解决螨虫分类问题: 蠓虫分类问题:对两种蠓虫(A与B)进行鉴别,依据的资料是触角和翅膀的长度,已知了9支Af ...

  5. webservice 测试地址

    腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx Disco: http:// ...

  6. Java-从字符串或一个子字符串中搜索一个字符

    indexOf函数 package com.tj; public class MyClass implements Cloneable { public static void main(String ...

  7. 【04】图解JSON

    [04]图解JSON   附件列表

  8. Leetcode 324.摆动排序II

    摆动排序II 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序. 示例 1: 输入: nums ...

  9. 集群高可用之lvs

    集群: 随着互联网的发展,大量的客户端的请求,服务器的负载越来越大,单台服务器的负载有限,会导致服务器响应客户端请求的时间越长,甚至产生拒绝服务的情况.目前网站是24小时不间断提供网络服务,仅采用单点 ...

  10. BZOJ 3110 [Zjoi2013]K大数查询 ——树套树

    [题目分析] 外层区间线段树,内层是动态开点的权值线段树. SY神犇说树套树注重的是内外层的数据结构的选择问题,果然很重要啊. 动态开点的实现方法很好. [代码] #include <cstdi ...