Git书籍有《版本控制之道git》,但是很一般。强烈推荐《Git Pro》中文版!

很多开源软件的教程也是免费开源的在线阅读的。

《Git Pro》中文版在线阅读http://iissnan.com/progit/     (同前需翻墙浏览)http://git-scm.com/book/zh

Pro Git书籍源码http://www.worldhello.net/gotgithub/

git是一个软件工具,在实践中才能熟悉之,所以学习是长期坚持运用的过程。

笔记:

开始Git:

git config --global --user.name "pythonwood"
git config --global --user.email "582223837@qq.com
#git config --global --list #list all mk HelloWorld
cd HelloWorld
git init #make .git
git add .
git status #which is changed
git commit -m "add commit: add something" \
-m "This allows for a more semantic document."
#git log -1 --pretty=oneline #显示最后一次 分支:
merge后就可以删除分支,git branch -d # git branch --no-merge 显示未合并分支
rebase有趣示例:
多分支时rebase: git rebase --onto master branch20131029 branch2 # 位于branch20131029上时,跳过branch2的父分支branch20131029,将branch2的特有变化在master上演化一次。
跟踪远程分支:
git checkout -b hotfix origin/hotfix # --track
删除远程分支:
git checkout origin :hotfix rebase重难点:如果把衍合当成一种在推送之前清理提交历史的手段,而且仅仅衍合那些尚未公开的提交对象,就没问题。如果衍合那些已经公开的提交对象,并且已经有人基于这些提交对象开展了后续开发工作的话,就会出现叫人沮丧的麻烦。 知识点:
git add 与 git reset相对
git commit 与 git checkout相对
git merge 与 git rebase相似
git branch --merge 与 git branch --merge 相对 (merged ok too)
分支合并时rebase后再merge会快进,即前进式merge。
git checkout --track = git checkout -b

git check -b <name> = git branch <name> + git checkout <name>
git pull = git fetch + git merge
git commit -a -m = git add + git commit -m 常用git命令:
git commit --amend
git status
git diff git 标签:
1、tag <name> [SHA]
2、tag -a <name> [SHA]
3、tag -s <name> (高级) git push origin --tags (必须显式使用参数) **与服务器交互:
git config --global push.default simple # 使用默认模式,不用每次push都提示
git clone git@github.com:/pythonwood/HelloWorld.git # 自动分支成远程引用origin/master和本地master。如果有写权限,git remote -v 可见到push权限。
#git remote 引用一个远程仓库(地址)别名:origin

必须先pull再push,方式有git,https,ssl等等**

git学习利器:《Git Pro》中文版的更多相关文章

  1. git学习——<五>git分支

    git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...

  2. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

  3. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  4. git 学习(1) ----- git 本地仓库操作

    最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫  Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...

  5. Git 学习之git 分支(三)

    Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...

  6. Git 学习之Git 基础(二)

    Git 基础 读完本章你就能上手使用 Git 了.本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置: ...

  7. Git 学习之git 起步(一)

    起步 本章介绍开始使用 Git 前的相关知识.我们会先了解一些版本控制工具的历史背景,然后试着让 Git 在你的系统上跑起来,直到最后配置好,可以正常开始开发工作.读完本章,你就会明白为什么 Git ...

  8. Git 学习之 Git Basics

    最近在用git,但git学习曲线实在是有点高. 好在找到一个文档 https://www.atlassian.com/git/tutorial/,以下就是学习笔记吧! git init git ini ...

  9. git 学习(4) ----- git rebase

    使用git rebase 的前提是多人协作下的分支开发,如果是单人开发,那就没有必要使用它了,这是由git rebase 的作用所决定的,git rebase 有两大作用:一个是与主分支保持同步,一个 ...

随机推荐

  1. Linux学习笔记16——wait函数

    wait函数的定义如下: #include <sys/types.h> #include <sys/wait.h> pid_t wait(int *stat_loc); wai ...

  2. C# Dictionary的xml序列化

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  3. [ReadingNotes] Search the links, static final in the java

    [ReadingNotes] Search the links, static final in the java */--> pre { background-color: #2f4f4f;l ...

  4. A Dicey Problem 骰子难题(Uva 810)

    题目描述:https://uva.onlinejudge.org/external/8/810.pdf 把一个骰子放在一个M x N的地图上,让他按照规定滚动,求滚回原点的最短路径. 思路:  记忆化 ...

  5. Java Bean 获取properties文件的读取

    实际的开发过程中,将一些配置属性从java代码中提取到properties文件中是个很好的选择,降低了代码的耦合度.下面介绍两种通过spring读取properties文件的方法,以ip地址配置为例. ...

  6. list的三种遍历方法

    1.最简单的for循环遍历 for(int i = 0; i < list.size(); i++){        list.get(i);        } 2.最方便的foreach循环遍 ...

  7. MapObject shape数据操作

    利用MO 的GeoDataset  .DataConnection  Recordset 进行数据操作 在MO中.使用GeoDataset对象和DataConnection 对象来连接和读取地理数据. ...

  8. Oracle char 查询问题

    近期碰到一个问题,数据库有个字段设置类型是char(2),然后数据库保存的数据位1,当使用hibernate 查询时 我使用query.setString("permissionLevel& ...

  9. APP安全环节缺失,手游运营商怎样应对APP破解困境

    2013年手游行业的规模与收入均实现了大幅增长,发展势头强劲.然而,在手游快速发展的同一时候,因为监管.审核等方面存在着漏洞,手机游戏软件被破解后注入恶意代码.盗取用户財产.窃取用户设备信息的现象屡见 ...

  10. iscsi介绍及iscsi target配置

    iSCSI 主要是透过 TCP/IP 的技术,将储存设备端透过 iSCSI target (iSCSI 目标) 功能,做成可以提供磁盘的服务器端,再透过 iSCSI initiator (iSCSI ...