根据我最近使用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. java-通过JDBC操作数据库

    一.加载驱动 这里我们用Class.forname();来加载驱动,用此语句会提示排除异常. Class.forName("com.mysql.jdbc.Driver"); 括号中 ...

  2. android的EditText重新获取焦点问题

    在android开发过程中关于EditText在setFocusable(false);后,当需要再次获得焦点输入时设置setFocusable(true);后还是无法获得焦点的问题: 解决办法: 对 ...

  3. Cannot create file "C:\Users\Administrator\AppData\Local\Temp\EditorLineEnds.ttr"

    这个问题的产生根据网上搜集的资料是因为微软的新补丁KB2970228和KB2982791限制了字体文件的使用机制, 而EditorLineEnds.ttr是delphi字体临时文件, 这就导致了del ...

  4. 理解MVC,MVP和MVVM设计模式

    有3个非常受欢迎的MV-*系列设计模式:MVC,MVP,MVVM.他们被广泛应用于不多种结束.这篇文章我回阐述我自己对这3个设计模式的看法. MVC模式: MVC即Model-VIew-Control ...

  5. JQuery的父、子、兄弟节点查找方法

    jQuery.parent(expr)           //找父元素 jQuery.parents(expr)          //找到所有祖先元素,不限于父元素 jQuery.children ...

  6. android——handler机制原理

    在android版本4.0及之后的版本中多线程有明确的分工,子线程可以写所有耗时的代码(数据库.蓝牙.网络服务),但是绝对不能碰UI,想碰UI跟着主线程走,那么我们如何才能让主线程知道我们要对 UI进 ...

  7. FizzBuzzWhizz游戏的高效解法

    最近比较火的一道题(传送门),看见园友们的谈论(传送门1 传送门2),都是从1到100的扫描,我想说说的另一种想法. 可以把这道题转换成给100个人发纸牌的游戏,每人所报的就是纸牌上写的东西. 纸牌发 ...

  8. PAT/字符串处理习题集(二)

    B1024. 科学计数法 (20) Description: 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+ ...

  9. RPC 的概念模型与实现解析

    今天分布式应用.云计算.微服务大行其道,作为其技术基石之一的 RPC 你了解多少?一篇 RPC 的技术总结文章,数了下 5k+ 字,略长,可能也不适合休闲的碎片化时间阅读,可以先收藏抽空再细读:) 全 ...

  10. 神奇的css!竟然可以这样玩转表格

    这是在对一个博客模板进行移动端适配时遇到的一个场景.html结构如下: 要解决的问题是如何在不修改任何html代码的情况下,仅仅通过css实现下面的效果: 1)改变它们的显示顺序,.MainCell显 ...