Git命令学习笔记

(1)显示git版本号

git --version

(2)初始化版本库

在/home/zdq0394/workspace/下面创建版本库demo

(2.1)mkdir demo;cd demo;git init

(2.2)git init demo

(3)git config命令

(3.1)创建配置
git config user.name "zdq0394" 针对当前版本库 /home/zdq0394/workspace/demo/.git/config
git config --global  user.name "zdq0394" 针对当前用户的版本库 /home/zdq0394/.gitconfig
git config --system user.name "zdq0394" 针对系统所有用户的版本库 /etc/gitconfig
(3.2)显示配置
git config user.name
git config --global  user.name
git config --system user.name
(3.3)删除配置
git config --unset user.name
git config --global  --unset user.name
git config --system --unset user.name

(4)git status

git status
git status -s 输出简洁的格式

(5)git diff

git diff 工作区和暂存区的比较
git diff --cahed 暂存区和HEAD的比较
git diff HEAD 工作区和HEAD的标记

git diff B A 比较里程碑B和里程碑A的差异
git diff A 比较工作区和里程碑A
git diff --cached A 比较暂存区和里程碑A
git diff  比较工作区和暂存区
git diff --cached 比较暂存区和HEAD
git diff HEAD 比较工作区和HEAD

git diff <commit1> <commit2> -- <paths> paths路径下文件不同版本的差异比较
git 

(6)日志

git log
git log --pretty=oneline
git log -l --pretty=raw

(7)工作区<=>暂存区<=>版本库

git add test.txt 将test.txt加入到暂存区
git commit 将暂存区的文件同步到到版本库
git reset HEAD 将版本库同步到暂存区,工作区不受影响
git rm --cached <file> 将暂存区的文件(更新)删除,工作区不变
git checkout -- <file> 将暂存区同步到工作区
git checkout HEAD <file> 将版本库同步到暂存区并同步到工作区

(8)补丁文件交互

Git版本库之间的交互方式(1)通过push和pull(2)通过补丁文件patch
(8.1)创建补丁
git format-patch HEAD~3..HEAD 将本地最近的3个commits创建为patch。该命令将创建3个patch,按照提交顺序编号。
(8.2)应用patch(通过管道命令方式)
cat *.patch | git am 将当前文件夹下的所有patch应用到当前的版本库

(9)查看对象信息

git cat-file -t 类型
git cat-file -s 大小
git cat-file -p 输出内容

(10)查看引用对应的commit id

git rev-parse master
git rev-parse refs/heads/master
git rev-parse HEAD

(11)祖先提交的表示方式

HEAD 当前提交
HEAD^ 当前提交的父提交
HEAD~n 当期提交之前的第n个提交 

(12)重置reset

git reset HEAD 将版本库同步到暂存区,工作区不受影响
git reset --hard HEAD 将版本库同步到暂存区和工作区
git reset --hard HEAD^ 将版本库/暂存区/工作区都同步到前一个版本
git reset --hard HEAD~3 将版本库/暂存区/工作区都同步到前个版本

git reset --soft HEAD^仅仅重置版本库,暂存区和工作区不变
git reset --mixed HEAD^重置版本库和暂存区,工作区不变
git reset HEAD^ 同上
git reset --hard HEAD^重置版本库、暂存区和工作区

(13)检出checkout

重置reset的实质是修改引用(比如refs/heads/master)的游标指向。
而检出的实质是修改头指针(HEAD)的指向。头指针,是当前工作区的“基础版本”。
cat .git/HEAD
ref: refs/heads/master

git checkout branch检出branch分支,更新HEAD以指向branch分支
git checkout --filename用暂存区filename覆盖工作区。相当于取消自git add filename

(14)Git基本操作

git add test.txt 将test.txt加入暂存区
git rm -cached test.txt 从暂存区删除test.txt
git rm -f test.txt 从暂存区和工作区同时删除test.txt
git add -u 将工作区(被版本库追踪的文件)的文件的变更(修改、删除)全部记录到暂存区
git add -A 将工作区中的所有改动及新增文件添加到暂存区
git mv test.txt test1.txt 重命名操作
git archive -o latest.zip HEAD 基于最新提交建立归档文件:latest.zip
git archive -o partial.tar HEAD src doc 只将目录src和doc建立到归档文件partial.tar中
git archive --format-tar --prefix=1.0/ v1.0 | gzip>foo-1.0.tar.gz

(15)git 历史穿梭

git rev-parse --symbolic --branches 显示分支
git rev-parse --symbolic --tags 显示里程碑
git rev-parse --symbolic --glob=refs/* 显示定义的所有引用
git rev-parse HEAD 显示HEAD对应的SHA1的哈希值
git rev-parse HEAD dev refs/heads/dev 显示各引用对应的SHA1的哈希值
git rev-parse refs/tags/A 显示里程碑A对应的SHA1的哈希值


(16)git clone

git clone <repository> <directory> 对等工作区
git clone --bare <repository> <directory.git>
git clone --mirror  <repository> <directory.git>
git clone -b master <directory.git> clone远程的master分支(默认分支)
git checkout -b dev origin/dev 根据远程origin/dev创建本地dev分支

git init --bare demo.git 








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值