Git常用指令汇总

版本控制(VCS)演化:

本地版本控制系统——集中化的版本控制系统(CVCS)——分布式版本控制系统(DVCS)

Git特点

每次提交更新,Git会对当时的全部文件制作一个快照并保存这个快照的索引,而不是存储差异

近乎所有操作都是本地执行

应用哈希值的形式计算校验和,保证完整性

文件有三种状态:已提交(commited),已修改(modified),已暂存(staged)

三个工作区域:工作目录——暂存区域——Git仓库

基本的Git工作流程:

1 在工作目录中修改文件

2 暂存文件,将文件的快照放入暂存区域

3 提交更新,找到暂存区域的文件,将快照永久性存储到Git仓库目录

设置用户信息(global命令只需运行一次,如对不同项目使用不同名称或邮箱,可以在该目录下运行没有-global的版本)

git config --global user.name "John Doe"

git config --global user.email johndoe@example.com

基本Git指令

参考网址:http://www.jqhtml.com/8235.html

初始化本地git仓库(创建新仓库):git init

查看当前分支状态:git status

增加当前子目录下所有更改过的文件至index:git add .

提交:git commit -m 'message'

合并上一次提交:git commit-amend 'message'

将add和commit合并为一步:git commit -am 'message'

删除index中的文件:git rm xxx

显示提交日志:git loggit log -n (显示n行日志)

分支相关

列出所有分支:git branch

查看每个分支的最后一次提交:git branch -v

创建一个名为[name]的分支:git branch [name]

切换到[name]分支:git checkout [name]

创建并切换到[name]分支:git checkout -b [name]

将当前分支与[name]分支合并:git merge [name]

删除[name]分支:git branch -d [name] (该指令仅用于删除已经merge了的分支)

强制删除[name]分支:git branch -D [name]

查看远程分支:git branch -r

创建远程分支(本地分支push到远程):git push origin [name]

删除远程分支:git push origin :heads/[name]

远程仓库相关指令

检出仓库:git clone git://github.com/jquery/jquery.git

检出指定分支:git clone -b BranchName http://gitlab.qiyi.domain/eggizhang/AI4AR.git

查看远程仓库:git remote -v

添加远程仓库:git remote add [name] [url]

删除远程仓库:git remote rm [name]

修改远程仓库:git remote set-url --push [name] [newUrl]

拉取远程仓库:git pull [remoteName] [localBranchName]

推送远程仓库:git push [remoteName] [localBranchName]

Git 储藏

本地有修改但不想commit,可是又要git pull的时候,可以使用“储藏”功能

git stash 将当前状态储藏

git stash list 查看现有储藏

git stash apply 应用最新的储藏

git stash apply stash@{2} 指定名字来应用储藏stash@{2}

git stash drop stash@{0} 移除储藏

git stash clear 移除所有储藏

版本(tag)操作相关指令

查看版本:git tag

创建版本:git tag [name]

删除版本:git tag -d [name]

Git 还原到之前版本
git log # 查看之前commit的id,找到想要还原的版本
git reset --hard [id] # 还原到之前的版本
Git 图形界面

gitk是历史纪录的图形化查看器

git gui是用来制作提交的工具

Git中LF和CRLF的操作

先指定两个非官方的概念

  1. 标准化 指在提交代码到git数据库(本地库) 中将文本文件中的换行符CRLF转为LF的过程
  2. 转换 指在检出Git数据库代码过程中将文本文件中的换行符LF转换为CRLF的过程

Git 提供了一个名为 core.autocrlf 的配置,可以自动完成标准化与转换。

git config --global core.autocrlf  [true | input | false]  # 全局设置
git config --local core.autocrlf  [true | input | false] # 针对本项目设置

# true 自动完成标准化与转换
# input 只做标准化操作,不做转换操作
# false 提交与检出的代码都保持文件原有的换行符不变
  1. CRLF 与 LF 混合的文本文件不受此配置控制。
  2. Git 安装后默认为 false

.gitattributes 文件

在项目的根目录下可以添加一个.gitattributes 文件。它的优先级高于core.autocrlf的设置,可以覆盖core.autocrlf的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值