Git
工作流程:D:\projects\Setup2\Setup2\Setup2\Express\SingleImage\DiskImages\DISK1

git clone
工作开始之初,可通过git clone “URL“来实现拷贝远程git仓库并创建本地仓库,再同步工作区代码的效果。

git status
工作过程中,可随时通过git status查看本地代码与git仓库之间的状态,比如修改、删除、增加的文件状态。

git add
git commit
若需要将代码向本地仓库递交,则通过git add将文件加入索引区,再通过git commit方法可真正的将代码递交入库。

git push
若功能开发好后,需要将本地代码共享给项目组中的其他成员,若通过git push命令将本地已入库的代码向远程仓库合入。

git pull
若需要将项目组中其他成员的代码成果同步到自身工程,则通过git pull命令可以达到目的

git merge
若需要合入另一分支的代码,可通过merge命令实现

git branch
创建、删除、查看分支可以通过git branch实现
如创建分支dev,则命令为git branch dev
如查看本地分支,则直接git branch,前面带*的则是当前的工作分支
如删除分支dev,则git branch -d dev,也可以用git branch -D dev进行强删,内容将丢弃,所以请确定是不要此代码才实施

git rebase
重定基,

git reset
比较有用的功能,它可以将已提交的记录进行还原,通过commit id还原,

git log
查看每次人员上传的记录及commit ID值

git diff
可对比分析分支差异、文件差异、每次签入的内容的差异

gitk
可视化查看log

git mv
对仓库上的文件进行重命名,最后也需要通过git commit才将修改入仓库

git checkout
可切换分支,如
git checkout dev
若对修改的文件不满意,可还原文件至仓库中的文件,命令如下:
git checkout -- “file“

日常场景使用

1.开发完成后想将代码提交到远程仓库共享代码给项目组成员(多分支工作)
开发前,将远程仓库的最新代码创建跟踪分支master(或者叫remote)
再通过master分支创建开发分支并切换到dev进行开发
创建git branch dev命令后再执行git checkout dev,达到切换入dev进行开发
也可直接git checkout -b dev,直接创建并切换
开发过程中,开发人员coding
开发完成后,需要将代码入远程仓库,则先将代码入本地仓库,
在dev分支上执行git add / git commit之后
执行如下命令:
git checkout master
git pull
达到将跟踪分支与远程仓库同步的效果
再执行
git rebase master dev, 此命令是将dev进行变基,
执行此命令的主要原因是此时远程仓库上已有其他项目组成员提交了代码,而dev分支是在原先的
提交结点上签出的,执行git pull后,此时master分支上的结点已向前发展,而dev的结点也已向前发展,
通过上述命令后dev的前面签入结点将与master(即远程分支上的结点)保持一致。
此时可能会出现冲突,则通过修改代码解决冲突代码后,使用git add 将冲突文件提交到索引区,
再git rebase --continue继续执行rebase过程,成功后工作区将处于dev分支上。
再执行
git checkout master
git merge dev
git push
即可将代码入库

2.开发完成后想将代码提交到远程仓库共享代码给项目组成员(单分支工作)
开发前,将远程仓库的最新代码创建跟踪分支master(或者叫remote)
直接在master分支上进行修改代码
git add
git commit
将代码入本地仓库
需要上传代码时则
git fetch
git rebase origin/master master
此时可能会冲突,则处理方式同1中的冲突过程
虽然第2种方式看上去简单些,但还是推荐大家采用第1种方式,
它可并行的处理的需求或BUG的情况,只需切换分支
(再多创建一些分支,每一个特性开发或解决每一个BUG时,都可创建新分支进行处理,
创建分支的代价是非常小的,大部分代码都是共用的,不像SVN,每个分支都是copy,
若原分支还有工作未完成,BOSS有紧急BUG需要你处理时,则通过git stash命令将当前进行到一半的工作进行缓存,
切换新分支解决紧急任务后切换回原分支,通过git stash pop可以还原缓存的工作,具体stash用法还请采用
git help stash查看,其它命令也可以通过git help查看)。

3.每日开发代码需要提交入本地仓库,所以经常使用
git add / git commit即可
若开发二天或三天,发现功能已开发好,想共享给项目组的成员,
此时,可进行git reset操作,将提交记录向前还原,
比如此时分支上执行 git log 显示结果如下:
commit 3bc7932bef0f8165e917f75d3302316d8e29bf0c
Author: libin jin
Date:   Tue May 22 20:34:36 2012 +0800

删除文件2

commit adbfdf8401b882c9b3e11e4330174c42996bdc57
Author: libin jin
Date:   Tue May 22 20:28:18 2012 +0800

删除文件1

commit 3721ce64fa2172d7883fde08a3f219b2edc83b93
Author: xiao.zhao
Date:   Tue May 22 19:13:53 2012 +0800

团购文本折叠取消动画

我们可以看到,上述最新的二个提交注释不规则,且二个提交的功能是一致的,
此时,执行下面的命令:
git reset 3721ce64fa2172d7883fde08a3f219b2edc83b93
或 
git reset 3721ce64 (8位即可)
再执行git add / git commit 加入合理的注释,即可将多个提交合成一个,变成功能完整的一次提交。
这样就可以在合入远程仓库时看到的每个提交都是有明确的含义,可维护性及可读性上会好很多,
在后继遇到问题或需求变化时,还原代码处理就比较方便,通过git revert可以将整个提交做反向处理,
即可将此功能去除。

Git 打标签:
# 创建附注标签
$ git tag -a v0.1.2 -m "发布0.1.2版本"

补打标签

打标签不必要在head之上,也可在之前的版本上打,这需要你知道某个提交对象的校验和(通过git log获取)。

# 补打标签
$ git tag -a v0.1.1 9fbc3d0
标签发布

通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:

$ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
$ git push origin --tags # 将本地所有标签一次性提交到git服务器

例:

git签入:

$ cd /f/cnbsln_branch/cnbsln/
$ git pull
$ git push -b loanreport
$ git push origin
$ git commit -m 'update view'

git 入门常用命令(转)的更多相关文章

  1. git/repo常用命令

    Git作为广受欢迎的一款版本控制工具,它该如何通过命令行使用呢?本文为你揭晓浓缩精华精华版:git常用命令一览,含部分repo操作. 代码下载 repo init -- -->初始化需要下载的分 ...

  2. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  3. git log 常用命令及技巧

    git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...

  4. Git基本常用命令

    Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...

  5. Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点

    Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...

  6. Git stash 常用命令

    参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...

  7. Git 基础 —— 常用命令

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...

  8. git之常用命令

    git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...

  9. git的常用命令。。

    git的常用命令.. git help <command>  显示command的help git show  显示某次提交的内容 git show $id git co -- <f ...

随机推荐

  1. 读C#程序(第三周)

    阅读下面程序,请回答如下问题: 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间 ...

  2. Alpha冲刺测试

    项目Alpha冲刺(团队) Alpha冲刺测试 姓名 学号 博客链接 何守成 031602408 http://www.cnblogs.com/heshoucheng/ 黄锦峰 031602411 h ...

  3. final 140字评论II

    1.约跑app: 从性能上讲,着重修改了其他组找出的bug,性能上有了很大的提高,增强了实用性. 从功能上讲,该app可以增加用户之间的互动性,有较多的客户群,适合人群不限于青少年和成年人. 从UI上 ...

  4. js 中引用类型 的深拷贝 和 浅拷贝的区别

    一.曾经在读JQ源码的时候,对深拷贝算是有了一点的理解.我们在项目中是不是经常会遇到这样的问题呢? 后台返回一个数组对象(引用类型).次数在页面渲染中需要对部分数据进行处理 比如:银行卡6234509 ...

  5. Delphi7如何实现让Tedit显示文字垂直居中(上下居中)

    通过下面的组件,可以在输入文字的时候自动垂直居中 直接把下面代码保存到Unit1.pas即可------------------------------------------ unit Unit1; ...

  6. MyBatis分步查询的延迟加载

    延迟加载的概念只存在于分步查询时: 延迟加载的本质是为第一步查询返回的Java Bean创建了一个代理对象: 延迟加载的全局设置有两个: lazyLoadingEnabled,作用为设置select语 ...

  7. Java之可变参数方法使用说明

    代码: package test_demo; /* * 可变参数函数说明 * 传入指定数据类型的数组 * 优先匹配固定长度函数 * */ public class VarArgsDemo { // 可 ...

  8. js中的async await

    JavaScript 中的 async/await 是属于比较新的知识,在ES7中被提案在列,然而我们强大的babel粑粑已经对它进行列支持! 如果开发中使用了babel转码,那么就放心大胆的用吧. ...

  9. 51Nod 1287 加农炮 (线段树)

    1287 加农炮  题目来源: Codility 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 一个长度为M的正整数数组A,表示从左向右的地形高度 ...

  10. 【刷题】LOJ 6122 「网络流 24 题」航空路线问题

    题目描述 给定一张航空图,图中顶点代表城市,边代表两个城市间的直通航线.现要求找出一条满足下述限制条件的且途经城市最多的旅行路线. 从最西端城市出发,单向从西向东途经若干城市到达最东端城市,然后再单向 ...