第一步:设置全局变量:

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. CSS3-盒模型-resize属性

    作用:用来改变元素尺寸大小. 1.resize:none|both|horizontal|vertical|inherit none:不能拖动修改尺寸大小 both:可以拖动元素,修改元素宽高 hor ...

  2. teatime、

    Python之路,Day7 - 面向对象编程进阶   本节内容: 面向对象高级语法部分 经典类vs新式类 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个 ...

  3. LeetCode(111) Minimum Depth of Binary Tree

    题目 Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the s ...

  4. poj 3783

    Balls Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1196   Accepted: 783 Description ...

  5. 误删除innodb ibdata数据文件-之恢复

    今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...

  6. 算法学习记录-图——应用之拓扑排序(Topological Sort)

    这一篇写有向无环图及其它的应用: 清楚概念: 有向无环图(DAG):一个无环的有向图.通俗的讲就是从一个点沿着有向边出发,无论怎么遍历都不会回到出发点上. 有向无环图是描述一项工程或者系统的进行过程的 ...

  7. luogu3698 [CQOI2017]小Q的棋盘

    最长链是根节点到深度最深的结点的路径. 显然,要么直接走最长链,要么兜兜转转几个圈圈再走最长链,而最长链以外的结点因为要"兜圈",所以要经过两次. #include <ios ...

  8. svg path 动画效果

    http://www.zhangxinxu.com/wordpress/2014/04/animateion-line-drawing-svg-path-%E5%8A%A8%E7%94%BB-%E8% ...

  9. wireshark抓文件上传的包的结果记录

    如果我们再一个表单中放了一个text的input 还放了一个file的input进行文件上传,此时用wireshark抓到的包应该是什么样子的呢 html代码 <form action=&quo ...

  10. Leetcode 392.判断子序列

    判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 你可以认为 s 和 t 中仅包含英文小写字母.字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 ...