摘要:是在服务器端开发再合适不过的神器这里只是对自己平常工作中常常使用到的命令做一个小小的总结,方便程序员开发和版本控制的配置文件有三个级别的配置文件,分别是版本库级别的配置文件全局配置文件用户家目录下系统配置文件安装的时候所在的目录,一般情况下
Vim+Gig是在服务器端开发再合适不过的神器!这里只是对自己平常工作中常常使用到的git命令做一个小小的总结,方便程序员开发和版本控制!
git的配置文件
1、git有三个级别的配置文件,分别是版本库级别的配置文件、全局配置文件(用户家目录下)、系统配置文件(安装git的时候所在的目录,一般情况下是在/etc/)。它们的有限级别如下,.git 目录下的config文件配置会覆盖用户家目录下的配置文件,而用户家目录的配置文件会覆盖系统的git配置文件
2、git config -e 对版本库中的.git/config 文件进行编辑
git config -e --global 对主目录下的.gitconfig文件进行编辑
git config -e --system 对系统级别的配置文件进行编辑
3、git config
git config
git --version
查看当前git的版本
初始化代码仓库(此时在当前目录下,就会多一个 .git 的目录,就是代码仓库)
git init
git config --global user.name "zero"
git config --global user.email "maweibinguo@163.com" (自报家门)
git config --global color.ur true(在命令行中开启颜色显示)
对git进行配置
git rev-parse --git-dir
显示版本库.git目录所在的位置
git status -s
功能:用来比较,当前的工作目录和缓存区的状态
??:该文件还没有被git进行追踪
A:当前工作目录同缓存文件相比,新增加的文件
M:当前目录同缓冲区相比,已经进行了改变(Modify)
D: 当前目录同缓冲区相比,删除的文件
注意:git status 是以缓冲区中的内容为标准的,所有的AMD都是以缓冲区的内容为准,经过同缓冲区的对比,发现当前工作区进行了AMD等操作
git diff
功能:如果没有其他参数,git diff 会显示自从你上次提交快照之后尚未缓存的所有更改
注意:对比的参照点仍然是缓冲区中的内容,将当期那工作目录中的文件同缓冲区做对比
git diff --cached
功能:将缓冲区的内容同快照中的内容进行对比
git diff HEAD
功能:将当前工作目录中的文件,同快照中的内容进行对比,HEAD(当前工作分支)
git commit -m "对本次提交的快照的说明"
功能:将缓冲区中的内容添形成一次快照(也就是打一个版本)
git commit -am "对本次提交的说明"
功能:同git commit -m 的功能类似,但是,由于多了一个a参数。这样就有一个隐含的操作,将已经追踪的文件先进行自动提交(注意:是已经追踪到的文件)!
git log :
功能:显示从最近到最远的提交日志
个人体会是,我们最想要的就是commmitid和对本次提交的说明
git reset --hard commitid
功能:回到指定的某个版本,注意,是连通当前的工作区一起回去,很可怕的一个命令。如果你并没有对当前的工作目录进行提交,而且还执行了这个操作,那么就杯具了,你上次提交后所有的更改内容就全部丢失而来,本人在这方面就犯了很大的错误!想想都是血泪啊!
git reflog
功能:用来记录你的每一次命令,这样我们就可以看到所有的commitid了(而git log只能够用来查看当前版本的commitid以及以前提交版本的commitid)
git checkout -- file
功能:将缓冲区或者快照中的指定文件恢复到当前的工作目录
注意:--是必须要写的,如果不写的话,就成为了分支的切换。
同时,我们应该明白,恢复的先后顺序。执行完改命令后,如果缓冲区中有该文件的话,那么工作目录就会恢复到缓冲区的样子!如果缓冲区没有文件的话,那么就会恢复到最新提交的版本上面!
git reset HEAD file
功能:将缓冲区中的指定文件,回退到最新的一次commit版本。
这个命令还是很有用的,如果我们误操作了,并且进行了add,那么此时再用 git checkout --file 恢复工作区中的内容的话,就没有任何效果了!但是执行git reset HEAD file这个命令,就可以将最新一次的commit中的file文件拉回到缓冲区中,然后在通过git checkout -- file命令,恢复到工作区中!
git branch
功能:展现当前的所有分支,前面带有 "*" 是所在分支
git branch 分支名
功能:创建一个新的分支
git checkout -b 分支名
功能:创建新分支,并切换到改分支上
git branch -d 分支名
功能:删除指定的分支(不可以删除当前所在分支)
git checkout 分支名
功能:用于在不同的分支之间进行切换
注意:由于版本的不同,在操作上可能有所不同!在某些版本上必须先进行git add , commit 之后,才能进行分支的切换!(1.8.3之前的貌似都需要提交才行),而有的分支则不需要进行此操作!
git merge 分支名
功能:将指定的分支合并到当前的分支
关于分支的合并我想说一下,自己的理解,个人认为所谓合并,其实是对所有修改的合并!这里举个例子说明会更好一些:
A作家写初步完成了一篇长篇小说的初稿,但是呢仍然需要对这篇长篇小说进行修修改改!处于对质量的严格要求!此时A作家找到了B作家,希望B作家提出宝贵的意见,让他对这篇小说也进行修改!等修改的差不多了,A作家,就让B作家把他的修改内容发给A作家,A作家再将B作家的修改添加到自己既有的修改上面!(--这应该就是合并)
如果A作家的修改的内容,B作家也进行了修改,那么就有A作家去决定改要谁的修改!(--这就是解决冲突)
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20961.html
摘要:目录提交代码常用命令读写文件一常用命令从远程仓库克隆整个项目代码列出当前目录所有还没有被管理的文件和被管理且被修改但还未提交的文件提交全部未跟踪和修改文件,但是不处理删除文件将暂存区里的改动给提交到本地的版本库参数表示可以直接输入后面的 目录 Git提交代码常用命令 python 读写Excel文件Demo 一、Git常用命令 git clone #从远程仓库克隆整个项目代码sh...
阅读 692·2021-11-22 13:52
阅读 1497·2021-09-27 13:36
阅读 2800·2021-09-24 09:47
阅读 2130·2021-09-22 15:48
阅读 3575·2021-09-22 15:39
阅读 1436·2019-08-30 12:43
阅读 2905·2019-08-29 18:39
阅读 3156·2019-08-29 12:51