根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支。

一、开发流程

- 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上branch一个新的本地分支xname(或者branch一个已有的远程分支),然后checkout切换到这个本地分支上,开始开发;

- 开发过程中可以不断的commit到本地,可以分阶段做版本标记(俗称打tag);

- 开发完成之后,把本地分支xname ,push origin到远程分支xname上;(也可以push origin v0.1.2 把某个本地tag推送到服务器上)

- 远程分支xname和master合并。

二、常用命令

安装完成git之后,在文件夹右键菜单可以找到git bash命令行工具。也可以配置下环境变量使用windows的cmd命令行工具。

windows的cmd工具,配置一下之后,我觉得还蛮好用的。

(找到git的安装目录,然后系统环境变量path添加一个“D:\Program Files\Git\cmd”,命令行就可以运行git命令了)

进入目录
cd e:
cd cs

返回根目录
cd ../

列出本目录下文件夹
ls

当前下创建文件夹
mkdir

删除文件夹
rd xx

删除文件

del xx
————————以下为git命令——————————

查看本机配置
git config --list

git基本配置
http://magicalboy.com/git-configuration/
配置用户信息
$ git config --global user.name "xxx"
$ git config --global user.email xx@xx.com

创建本机key
ssh-keygen -t rsa -C “xx@xx.com” (默认会在C/user/..下面创建一个.ssh的文件夹,内有一个公钥文件和一个私钥文件,公钥要自己复制放到服务器上)

下载远程master代码
git clone git@xxx.git

拉取远端某分支代码
git pull origin xname

列出所有本地分支
git branch

列出远端分支

git branch -r

列出本地+远端分支
git branch -a

创建分支
git branch xname

切换分支
git checkout xname

创建并切换分支
git checkout -b xname

进入分支查看分支的改动
git status

GUI查看当前分支的修改
gitk

提交所有修改到本地
git commit -a -m "注释内容,必须要有"
(如果有新增加的文件,需要先add)

提交修改到远程分支
$ git push origin xname:xname

删除已经合并过的本地分支
git branch -d xname

强制删除某个本地分支
git branch -D xname

删除远程分支
git push origin :xname
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。
等同于
$ git push origin --delete xname

列出所有tag
git tag

打tag
git tag -a tagName -m "注释"

将tag提交到服务器
git push origin v0.1.2(对应到小乌龟上就是push的时候,把Include tags勾上)

将本地所有tag提交到服务器
git push origin --tags

三、git可视化工具

git hash的乱码搞得我非常的恶心,装了一个小乌龟git,TortoiseGit,用了两天之后发现,贼好用,强烈推荐大家使用。

举例:删除某个远程分支。

还是按照原来那句删除远程分支的命令行的思路
git没有删除远程分支的命令,可以用push一个空分支来实现删除的目的
那 对应到小乌龟上 就是这样啦

---------------------------------------------------------------------------

 四、git小乌龟和git bash如何同时使用的问题

因为在交叉使用中出现了问题,排查之后发现git小乌龟和git bash命令行工具,他们使用的密钥不是一个类型的。详细可以参考这个:http://zengrong.net/post/1722.htm

也就是说,如果想同时使用这两个工具的话,需要分别为他们创建一对密钥。

git bash:用上面列的命令可以生成公钥和私钥;

TortoiseGit:需要使用它自己的puttygen工具生成一对密钥;详细可以参考这个:http://jingyan.baidu.com/article/63f236280f7e750209ab3d60.html

如果参照教程还是有问题,需要在git bash中git config --list  查看一下"remote.origin.puttykeyfile"的值是否和刚才用puttygen生成的一致。

五、git小乌龟在win8系统下git  clone load puttykey 不可用

本来自认为自己已经完全掌握小乌龟的使用了,没想到今天的实习生来了之后,又出现一个新问题,就是他的win8系统,clone代码的时候, clone load puttykey 这个选项不可用。百度了一下之后,发现原来是git小乌龟没有找到ssh client,需要在git setting-network里指定一下ssh client的程序位置。

如下:Settings > Network > SSH:SSH Client = C:\Program Files (x86)\TortoiseGit\bin\TortoiseGitPLink.exe

此问题参考:http://blog.snsgou.com/post-58.html

git开发流程、常用命令及工具、TortoiseGit使用及常见问题的更多相关文章

  1. git开发中常用命令

    项目代码克隆岛本地 git clone 项目地址 #如:git clone http://cngit.fir.ai/data_service/distributedstorage.git 克隆指定分支 ...

  2. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  3. Git的一些常用命令

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 简单的说就是托管代码的便于多人开发的管理系统. 二.Git的一些命令,我详细的说一下 我是基于github给大家说一下git的一些常 ...

  4. Android开发调试常用命令列表

    Android开发调试常用命令列表 adb命令 am am start -n com.iflytek.autofly.account/.ui.MainActivity am start -n com. ...

  5. 正确的git开发流程

    正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...

  6. Linux服务器上监控网络带宽的18个常用命令和工具

    一.如何查看CentOS的网络带宽出口 检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令. 如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看. ...

  7. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  8. Git Bash Here常用命令以及使用步骤

    1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...

  9. 开发环境之git:团队协作git工作流与常用命令

    此篇文章只是一篇傻瓜式的,记录工作中比较规范且常见的一个git工作流需要用到的命令,让你可以快速的开始工作.而不是一些长篇大论的理论知识,如果你有用过sourcetree或者其它图形化工具,结合你正在 ...

随机推荐

  1. nfs配置注意点

    #ip与括号之间不能有空格,不加rw参数时挂载的目录是只读的 /eqp/export/ 10.10.30.0/24(rw,sync,no_root_squash) #更改目录所属的组和所属的用户(nf ...

  2. C#中分割字符串输出字符数组

    来自博客园 http://www.cnblogs.com/yugen/archive/2010/08/18/1802781.html   1.用字符串分隔: using System.Text.Reg ...

  3. bat 延时删除指定文件夹中的文件经验分享

    1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...

  4. Ajax请求

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  5. 关于OpenStack的学习路线及相关资源汇总

    首先我们想学习openstack,那么openstack是什么?能干什么?涉及的初衷是什么?由什么来组成?刚接触openstack,说openstack不是一个软件,而是由多个组件进行组合,这是一个更 ...

  6. android培训机构排名

    Android开发行业的热度打开了Android培训领域的市场,我们会发现有很多的Android培训机构都在大势宣传自己的师资.就业情况.教学环境等 ,然而到底要选择哪个呢?令很多的人困惑.2015年 ...

  7. ABP理论学习之仓储

    返回总目录 本篇目录 IRepository接口 查询 插入 更新 删除 其他 关于异步方法 仓储实现 管理数据库连接 仓储的生命周期 仓储最佳实践 Martin Fowler对仓储的定义 位于领域层 ...

  8. Dash文档制作教程

    前言 什么是Dash 面向程序员的文档库(Mac) 代码片段管理工具 这是强烈推荐给每天在各种API文档中摸爬滚打的程序员们的神器. 为什么要自己制作文档 官方的源中没有相关文档 文档在离线下体验更好 ...

  9. Android开发学习之路-Android N新特性-多窗口模式

    我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式.多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信. 这里我们 ...

  10. FASTJSON

    package com.hanqi.test; import java.util.ArrayList;import java.util.Date;import java.util.List; impo ...