Git学习笔记一《版本控制之道-使用Git》

1、在Windows中安装完git后,需要进行一下配置:
$ git config --global user.name "zhangliang"
$ git config --global user.email "[email protected]"
2、用下列命令可检查上述设置是否成功:
$ git config --global --list
user.name=zhangliang
[email protected]
3、若想在命令行窗口中使用不同的颜色显示不同类型的内容,请将“color.ui"的值设为”auto"或"always",具体命令为:
$ git config --global color.ui "auto"
4、打开在线帮助文档
$ git help config
5、查看历史信息
在命令行窗口的Git工作目录树下键入gitk就可以启动,在gitk命令中添加--all参数,可以显示全部分支的历史,而不仅仅是当前分支的历史。
6、创建版本库
可以在想放项目源代码的位置创建一个目录(可以用命令行创建),并进入到这个目录,然后输入命令git init即可。
$ mkdir mysite
$ cd mysite
$ git init
7、把文件添加到版本库的索引(index):
$ git add index.html
(其中index.html文件可以手动在目录下创建编辑也可以用touch index.html + vim index.html命令行实现)
8、提交
$ git commit -m "add in hello world HTML"
(其中,-m的作用是本次提交留言,若是多条留言,可以继续添加-m "XXX")
9、查看提交信息
$ git log (-2)
后面括号部分可以不加,数字代表查看几条信息。命令git log输出的提交名称的前七位字符和命令git commit输出的相同。
10、查看当前工作目录树状态
$ git status
11、git中有三个地方可以存放代码:第一个地方为工作目录树,编辑文件时可以直接在这里操作;第二个是索引(index),也就是暂存区(staging area),暂存区是工作目录树和版本库之间的缓冲区;第三个也就是最终的一个,是版本库。暂存区中存放的是准备提交到版本库中的修改。
12、创建分支的命令是git branch,该命令需要两个参数:新分支名称和父分支名称,新分支基于已经存在的父分支,将父分支下的文件都拷贝一份到新建的分支下。
$ git branch RB_1.0 master
13、提交全部修改过的文件:
$ git commit -a
14、查看当前所在的分支
git branch -vv
(然后能看到标亮的那个分支即是,或者在命令行窗口中能看到一个“()”里的分支名称即为当前分支)
15、切换分支
$ git checkout RB_1.0
switched to branch "RB_1.0"
16、创建+切换分支:
git checkout -b <name>
git checkout -b <name> master
注意上述第二条命令中的第三个参数告诉git,不是从当前分支而是从主分支上创建新分支即基于主分支的末梢创建新分支,也可以传其他的分支名,这样就可以在指定的任意分支上创建新分支。
17、删除分支:
git branch -d <name>
18、合并某分支到当前分支:
git merge <name>
19、更改分支名称:
git branch -m master mymaster
有三个参数,-m参数告诉git要执行分支移动(重命名)操作,另外两个参数分别是分支原名称和新名称。
20、显示本地版本库中所有的本地分支名称
git branch
21、有些版本控制系统在创建分支时会将所有的文件复制到新目录中,git可不这么做,它只把分支创建后的修改记录在这条分支上。这么说其实并不完全准确,实际上,git的分支只记录和跟踪该分支末梢的那个提交,因为沿这个版本回溯,可以找到该分支完整的历史轨迹。
22、使用分支时,最难确定的是何时创建分支,这是一门艺术。
试验性修改+增加新功能+Bug修复
23、合并分支
直接合并:首先切换到合并操作的目标分支,然后用git merge name1 其中,name1是指想要合并到当前分支的源分支名称。
压合合并:首先切换到合并操作的目标分支,然后用git merge --squash name1 将另一条分支上的全部提交压合成当前分支上的一个提交。此时,name1分支上的提交已经合并到当前工作区并暂存,但还没有作为一个提交提交到版本库中。再利用“正常”提交流程提交到版本库中即git commit……。
捡选合并:将一条分支上的一条提交合并到当前分支,git cherry-pick 321d76f其中,321d76f是提交的名称。
拣选合并多个提交时,利用git cherry-pick -n 321d76f 然后会提示finished one cherry-pick,请注意,完成本次拣选操作时git停了下来,而不是立即提交;接着可以进行下一个拣选操作,一旦拣选完需要的各个提交,就可一并提交改动。接下来继续进行提交操作,但不要使用-m参数,即git commit 编辑器会使用刚刚拣选的提交的提交留言,作为现在的提交留言。
24、合并发生冲突时,<<<<<<<<<<和>>>>>>>>>>代表两部分内容。第一,<<<<<<<<<<后面跟随的是当前分支中的代码,而>>>>>>>>>>之前的则是另一条分支上的代码。第二,在<<<<<<<<<<和>>>>>>>>>>行文件名之前,是所在分支的名称。
25、删除分支:
git branch -d name
但当分支未进行合并而要要删除时,需要用git branch -D name进行强制删除。
26、分支重命名
git branch -m contact contacts代表将分支名称改为contacts。
参数-m不会覆盖已有分支名称,所以新分支名称也即命令行中的第二个分支名称必须是唯一的,
将参数改为-M就可以覆盖已有分支名称了,但这种操作要小心使用。

时间: 2024-10-16 09:24:55

Git学习笔记一《版本控制之道-使用Git》的相关文章

【版本控制】git学习笔记(二)

关于git的基本使用请阅读上篇博文内容,[版本控制]git学习笔记(一). 1.远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以"克隆"这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩? 其实一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下.不过,现实生活中是不会有人这么傻的在一台电脑

版本控制之道 — 使用Git 笔记

第一次看这本书,是在两年以前了,最近又看了一遍,发现好多东西已经忘记了,另外,在最近两年的工作中,有些很有用的命令我居然一次都没用过, 所以,为以后查阅方便和更有效率的工作,写一篇笔记吧. 一.概述 版本库和工作目录树: 1.使用Git相关命令初始化版本库,即生成".git"目录,于是,".git"目录的父目录就是工作目录树 2.克隆(clone)一个已有的版本库,也就连带创建了工作目录树 Git安装完成之后,配置相关参数: --global参数代表配置的是全局参数

【版本控制】git学习笔记(三)

接着git学习笔记(二)学习,今天学习下git分支管理. 1.创建合并分支 默认创建的git目录只有master一个分支,现在我们创建dev分支,然后切换到dev分支: $ git checkout -b dev git checkout命令加上-b参数表示创建并切换,相当于以下两条命令: $ git branch dev $ git checkout dev 然后,用git branch命令查看当前分支: git branch命令会列出所有分支,当前分支前面会标一个*号. 然后,我们就可以在d

Git 学习笔记

Git 学习笔记 本文整理参考廖雪峰的 Git 教程, 整理 Git 学习笔记, 用于 Git 常用命令速查:常用命令用彩色标注! Git学习笔记 $ git config --global user.name "Your Name" 配置本机所有仓库的用户名 $ git config --global user.email "[email protected]" 配置本机所有仓库的Email地址 $ git init 初始化一个Git仓库 $ ls -ah 查看隐

Git 学习笔记参考

1.参考学习资料 网上资料: http://www.cnblogs.com/aoguren/p/4189086.html http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 书本资料: <Pro. git>,<版本控制之到,git>,<Git的权威指南> 视频资料: http://www.linecg.com/video/play29775.html htt

Git学习笔记(二)

本次学习的是 版本回退 基本命令: 查看提交历史      git log 版本回退            git reset 查看每一次的命令 git reflog 具体步骤: 添加一句话到readme.txt中,并提交到Git库中. . readme.txt在Git中目前有三个版本: 按提交时间先后顺序排列如下: 第一个:wrote a readme.txt 第二个:add distrubuted 第三个:add difficulties 如果版本过多的话,根本记不住,只能查看使用命令git

Git 学习笔记&lt;简介与安装&gt; (一)

Git,开源中国以及GitHub所使用的系统, Is A 一个分布式版本控制系统 Be Used to 为团队合作写代码提供方便的管理系统.几乎满足你所有关于合作写代码的幻想. Has 本地端:工作区.版本库 (版本库还含有一个暂存区) 远程仓库:版本库(用来储存版本库的服务器) How To Install Linux: 首先,先输入git,看看是否安装Git: $ gitThe program 'git' is currently not installed. You can install

Git学习笔记总结和注意事项

一.Git简介 Git是目前世界上最先进的分布式版本控制系统,其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Windows这几大平台上正常运行了. msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可.安装完成后,在开

Git 学习笔记&lt;远程仓库与标签管理&gt; (四)

什么是远程仓库? 就像第一章介绍的那样,远程仓库可以储存你编写的所有源码和资源文件. 甚至也可以当网盘使,不过当然有很多契合git管理文本的特性. 下面就要以 github 为示例远程仓库进行介绍.  (也可以自己弄一台服务器作远程仓库). 创建仓库 在主页找到 +New repository 或者右上角的加号里有.输入名字 描述 然后没钱只能public就能确定了.然后呢,点名字打开你的仓库.(主页右下角可以找到) 关于与远程仓库的连接 首先你打开你的保险箱得先证明身份吧,不然我怎么知道你是客

Git学习笔记(四)

一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了.所有配置文件可以直接在线浏览:https://github.com/github/gitignore .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! 二.配置别名 $ git config --global al