Git使用学习

第一章 起步

1.1 基本概念

分布式版本控制工具

以快照形式记录

工作目录 - 暂存区 - Git仓库

1.2 初次运行Git前的配置

设置用户名

git config -global user.name "xxx"

设置邮箱

git config -golbal user.email xxx@163.com

检查配置信息

git config --list

查看某一项配置:若用户名

git config user.name

查看命令帮助文档

git help [命令]

第二章 Git基础

本章目标

  1. 初始化一个仓库(repository)
  2. 开始或停止跟踪(track)文件
  3. 暂存(stage)或提交(commit)更改
  4. 如何配置 Git 来忽略指定的文件和文件模式
  5. 如何迅速而简单地撤销错误操作
  6. 如何浏览你的项目的历史版本以及不同提交(commits)间的差异
  7. 如何向你的远程仓库推送(push)文件
  8. 如何从你的远程仓库拉取(pull)文件

2.1 初始化仓库

初始化仓库

git init

跟踪某个文件,将文件放到暂存区

git add [filename]
git commit -m '提交描述'

克隆现有仓库

git clone [url] [rename]

2.2 记录每次更新到仓库

Git中文件的状态有:Untracked、Unmodified、Modified、Staged
Untracked是指哪些没有被纳入版本控制的文件状态,Unmodified、Modified、Staged是指纳入版本控制中文件的状态;
Unmodified是指未被修改过的文件,当你从远程仓库克隆一个项目到本地时,这些拉下来的文件就是未修改状态;
Modified表示文件被修改了;
Staged表示文件被放入暂存区;
在这里插入图片描述

图2-1 文件的四种状态变化周期

跟踪新文件

git add [filename]

查看当前文件状态

git status [-s]  加-s为紧凑格式

git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt

?? 表示新添加的未被跟踪的文件,A表示新添加到暂存区的文件,红色M表示修改未暂存,绿色M表示修改已暂存,同时两个MM表示修改暂存后又被修改了。

忽略文件
有时候某些文件不需要纳入版本控制,可以在项目下新建一个名为’.gitignore’的文件,然后在里面设置需要过滤掉的文件类型
比如过率掉以.html结尾的文件

*.html

查看尚未暂存的文件更新了哪些内容
git diff 此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,
也就是修改之后还没有暂存起来的变化内容。

查看已暂存的将要添加到下次提交里的内容

git diff --staged

提交

git commit [file] [-a] [-m 'description'] 
不加file则提交所有暂存区文件
加-a表示提交所有
-m 指定添加提交信息

移除文件

git rm [filename]

取消对错误添加跟踪的文件的跟踪,工作目录中仍然保留此文件

git rm --cached [filename]

重命名文件

git mv [oldfilename] [newfilename]

2.3 查看提交历史

查看所有提交历史

git log
git log -p    显示所有提交差异
git log -p -2 显示最近2次提交差异
git log --stat 看简略信息
git log --pretty=oneline 一行漂亮显示
git log --pretty=format:"%h - %an, %ar : %s"  以定制要显示的记录格式
关于format参数直接参看官网
git log --pretty=format:"%h %s" --graph 查看时图形化显示分支信息
git log --since=2.weeks 显示限制时间查看

这一块儿参数很多,建议直接查看官网

2.4 撤销操作

撤销提交

git commit -amend

取消暂存文件

git reset HEAD [filename]

撤销修改, 撤销之后就不能恢复, 需要谨慎使用

git checkout -- [filename]

在 Git 中任何 已提交的 东西几乎总是可以恢复的。甚至那些被删除的分支中的提交或使用 --amend 选项
覆盖的提交也可以恢复(阅读数据恢复了解数据恢复)。然而,任何你未提交的东西丢失后很可能再也找不到了。

2.5 远程仓库的使用

列出远程仓库名称和地址:会列出所有远程仓库

git remote -v

添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写

git remote add [shortname] [url]

从远程仓库抓取与拉取

git fetch [remote-name]

推送到远程仓库

git push [remote-name] [branch-name]

查看某一个远程仓库的更多信息

git remote show [remote-name] 

远程仓库的重命名

git remote rename [remote-oldname] [remote-newname]

远程仓库移除

git remote rm [remote-name]

2.6 打标签

添加一个标签用-a, 同时可以给备注信息

git tag -a v1.4 -m 'my version 1.4'

查看标签

git tag

查看标签详细信息

git show v1.4

轻量标签, 不需要添加任何备注信息

git tag v1.4-lw

对过去的提交打标签

git tag -a v1.2 [校验和]

将标签传送到远程仓库

git push origin [tagname]
git push origin --tags 一次push所有标签

删除本地标签

git tag -d <tagname>

如果想在删除本地标签后,删除远程标签,可以在之后执行push操作

git push <remote> :refs/tags/<tagname>

创建新分支检出标签

git checkout -b version2 v2.0.0

2.7 别名

我们可以给git的命令取别名,比如给checkout取个别名 co

git config --global alias.co checkout  # 给checkout取别名为co
git config --global alias.unstage 'reset HEAD -- ' # 给取消暂存添加别名为unstage

3 Git分支

3.1 分支简介

Git 的分支,其实本质上仅仅是指向提交对象的可变指针。
创建一个新分支

git branch [branch name]

切换分支

git checkout [branch name]

3.2 分支的新建与合并

创建并移动到那个分支

git checkout -b [branch name]

合并分支

git merge [branch name]

删除分支

git branch -d [branch name]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值