程序员程序园

git笔记

2019-05-03  本文已影响12人  咖喱py

纲领:

其实git的学习就是四个区之间关系转换的学习,以及各个区本身一些操作的学习。每个操作都有其特定的作用区。学习时注意区分,可事半功倍!

注:尤其要注意,git是以修改为单位的。

一、配置

关键命令: "git config"

git config --global user.name "yourName"
git config --global user.email "email@example.com"

二、初始化

关键命令:"git init"

//切换到工作目录,然后执行初始化命令
git init

三、添加文件

关键命令:"git add xx.file"

git add test.txt

四、提交文件

关键命令:"git commit -m "添加了xx.file文件""

git commit -m "添加了test.txt文件"

五、状态查看

关键命令:"git status"

git status 

六、查看差异

关键命令:"git diff xx.file"

注:对比的是工作区与暂存区

git diff test.txt

七、查看版本历史

关键命令:"git log" 、"git log --pretty=oneline"

注:查看的都是repo库的改动

git log

#简化输出可用参数--pretty=oneline
git log --pretty=oneline
#等号两边没有空格

八、回退历史版本

关键命令:"git reset --hard commit_id"

注:此命令其实就是修改repo库head指针的指向位置

参数解释:

git reset有三个主要参数

commit_id主要有两种表示方式

git reset --hard HEAD^
#--hard 表示三个区域完全回退
#HEAD^表示回退的目的地,^号表示HEAD指针的上一个版本。HEAD^也可用commit id的hash值的前几位替代,git会自动索引。
git reset --hard 142e


九、回流

关键命令:"git reflog"

注:作用与repo库

git  reflog 
#用于回流回退过的情况

十、放弃工作区的修改

关键命令:"git checkout -- xx.file"

注:从暂存去签出,覆盖工作区。

git checkout -- test.txt
# --不能少

十一、删除暂存区的内容(参考第八条)

关键命令:"git reset HEAD xx.file"

参数解释:

git reset HEAD test.txt
#此操作不会影响工作区

十二、删除工作区文件

关键命令:"git rm xx.file"

注:在暂存区工作,同git add xx.file,所以还需要一步commit

git rm test.txt
#会先执行工作区的文件删除操作 `rm test.txt`

git commit -m "rm test.txt"

十三、远程仓库


十四、克隆项目

关键命令:"git clone"

git clone git@github.com:name/repoName.git
#使用了ssh。也可以使用https。

十五、分支

关键命令:

git branch testDevA
#创建分支A
git checkout -b testDevB
#创建并切换到B分支
git checkout master
#切换到主分支
git branch
#查看分支
git merge testDevA
#将A分支合并到主分支
git merge testDevB
#将B分支合并到主分支
git branch -d testDevA
#删除A分支
git branch -d testDevB 
#删除B分支

十六、贮藏栈

注:常用来暂存当前工作,去解决临时问题,之后再恢复工作。

关键命令:

git stash
#贮藏
git stash pop
#取出

十七、标签

注:默认给最新的commit_id打标签,也可指定commit_id。
注2:标签的显示是按照字母顺序的,不是时间顺序。
注3:标签默认只存储在本地,需要而外推送远程库。

关键命令:

git tag v1.0
git tag
git tag v0.3 1e2c
git show v1.0
git tag -a v0.4 -m "this is a test" 3re4 

#commit_id 可省略,默认最新commit_id。

十八、git私服搭建

待续。

上一篇 下一篇

猜你喜欢

热点阅读