2020年12月09日——git常用命令

Git常用命令(一)

开始前的配置

// 配置用户信息
// 系统级设置
git config --system user.name username
git config --system user.email email address
// 用户级设置
git config --global user.name username
git config --global user.email email address
// 项目级设置
git config user.name username
git config user.email email address

// 其他配置(以global为例)
// 指定默认编辑器
git config --global core.editor vim
//指定默认分支合并工具
git config --global merge.tool vimdiff

// 查看配置
// 查看系统级设置
git config --system --list
// 查看用户级设置
git config --global --list
// 查看所有设置
git config --list 

开始使用Git

取得项目的Git仓库
// 在工作目录中初始化新仓库
git init

// 从现有仓库克隆
git clone git://address | http(s)://address | user@server:/path.git [被克隆仓库的本地名字]
记录每次更新到仓库
// 检查当前文件状态
git status

// 跟踪新文件 OR 暂存已跟踪并被修改了的文件
git add filename

//查看暂存区状态
git status
忽略某些文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表,所以我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

// 在工作目录创建 .gitignore 文件
vim ./.gitignore

// 编辑 .gitignore 文件
#忽略所有以 .o 或 .a 结尾的文件
*.[oa]
# 但lib.a除外
!lib.a
#忽略所有以 ~ 结尾的文件
*~
#忽略项目根目录下temp目录下以 .text 结尾的文件,但不包括其子文件夹下以 .text 结尾的文件
/temp/*.text
#忽略项目根目录下temp目录下以 .text 结尾的文件,包括其子文件夹下以 .text 结尾的文件
/temp/\*.text
查看已暂存和未暂存的更新

git status 的显示比较简单,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,可以用 git diff 命令。git diff 会使用文件补丁的格式显示具体添加和删除的行。

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

// 看已经暂存起来的文件和上次提交时的快照之间的差异
git diff --cached
提交更新
//提交更新, -m 后跟说明信息
git commit -m "balabala"

//不加 -m 会启动默认的文本编辑器,这里推荐用vim进行编辑
git commit 

//跳过使用暂存区域,直接将两个步骤合并成一个步骤,前提是这个文件已经被跟踪了
git commit -a -m "balabala"
移除文件

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,直接 rm 命令是不行的。

git rm "文件地址"

// 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f "文件地址"

// 把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中
git rm --cached "文件地址"
移动文件
git mv "old file address" "new file address"

就像 mv 命令可以重命名文件名一样,git mv 同样用来给 git 追踪过的文件重命名

//就等于一下三条指令
mv oldname newname
git rm oldname
git add newname

查看提交历史

// 按提交时间列出所有的更新
 git log
 
// 展开显示每次提交的内容差异
 git log -p
 
// 只显示最近 n 条更新记录
 git log -n
 
// 仅显示简要的增改行数统计
git log --stat

// 指定使用完全不同于默认格式的方式展示提交历史
git log --pretty=oneline
git log --pretty=short
git log --pretty=full
git log --pretty=fuller
// 自定义格式
git log --pretty=format:"%h - %an, %ar : %s"
/*
	选项 说明
    %H 提交对象(commit)的完整哈希字串
    %h 提交对象的简短哈希字串
    %T 树对象(tree)的完整哈希字串
    %t 树对象的简短哈希字串
    %P 父对象(parent)的完整哈希字串
    %p 父对象的简短哈希字串
    %an 作者(author)的名字
    %ae 作者的电子邮件地址
    %ad 作者修订日期(可以用 -date= 选项定制格式)
    %ar 作者修订日期,按多久以前的方式显示
    %cn 提交者(committer)的名字
    %ce 提交者的电子邮件地址
    %cd 提交日期
    %cr 提交日期,按多久以前的方式显示
    %s 提交说明
*/

// 形象地展示了每个提交所在的分支及其分化衍合情况
git log --graph

撤销操作

修改最后一次提交
git commit --amend
取消已经暂存的文件
git reset HEAD "文件路径"
取消对文件的修改
git checkout -- "被修改的文件路径"

远程仓库的使用

// 要查看当前配置有哪些远程仓库
git remote

// 显示对应的克隆地址
git remote -v

// 添加一个新的远程仓库,并指定一个简单的名字
git remote add [shortname] [url]

// 从远程仓库抓取数据到本地,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支
git fetch [remote-name]

// 把本地的 master 分支推送到 origin 服务器上
git push origin master

// 查看某个远程仓库的详细信息
git remote show origin

// 修改某个远程仓库在本地的简称
git remote rename pb paul

// 移除对应的远端仓库,并不会删除远程仓库
git remote rm paul

技巧和窍门

自动补全

你可以输入命令的一部分,然后按tab键自动补全

Git 命令别名
// 以修改用户级配置为例
git config --global alias.[简称] [完整的命令]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值