赞
踩
在CentOS 7.6环境下可以使用一条语句就能安装git
yum -y install git
如果上面命令包以下错误,说明权限不够
[leijie@fl ~]$ yum -y install git
Loaded plugins: fastestmirror
You need to be root to perform this command.
可以转换成root用户再次执行
或者对该用户添加sudo权限后在使用,
(16条消息) linux中创建用户并赋予用户sudo权限_赋予sudo权限_小逍遥1127的博客-CSDN博客
sudo yum -y install git
在安装之前也可以用
git --version
命令查看是否已经安装好git
卸载git命令
sudo yum remove git -y
在windows下安装网站git安装网站
创建一个git目录
mkdir [目录名]
进入这个git目录 ,然后使用git init 对这个目录进行初始化
git init
当前⽬录下多了⼀个 .git 的隐藏⽂件, .git ⽬录是Git来跟踪管理仓库的,不要⼿动修改这个⽬录⾥⾯的⽂件,不然改乱了,就把Git
仓库给破坏了
当安装Git
后⾸先要做的事情是设置你的用户名称和e-mail地址 ,其中这个 --global
选项是指我们对这个的配置会在当前机器下的所以的git仓库都生效
git config [--global] user.name "Your Name"
git config [--global] user.email "email@example.com"
配置完后用
git config -l
命令查看配置是否成功
如果想重置一个配置, 其中对于用--global
配置的内容也要用--global
进行重置
git config [--global] --unset [重置的属性名]
stage
或index
。⼀般存放在.git
⽬录下的index
文件(.git/index)中,我们把暂存区有时也叫作索引(index)。repository
。⼯作区有⼀个隐藏⽬录.git
,它不算⼯作区,⽽是Git
的版本库。这个版本库⾥⾯的所有⽂件都可以被Git
管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。将文件从工作区添加到暂存区,在add后就会多一个index,就是里面的暂存区
git add . #将当前目录的所以文件都加入暂存区
git add [name] #指定文件加入暂存区
git add [name1] [name2] .. #一次性添加多个文件
将暂存区内容添加到本地仓库
git commit -m "[描述]" #这个描述说这个操作是干什么
git log #可以查看git的提交记录
git log --pretty=oneline
git log [file] #指定查看某一个文件的记录
.git
中的HEAD是指向一个分支的,默认是master,修改的工作区内容会写入对象库的一个新的git对象中
在git中只要是新增,修改,删除文件,都叫做 修改,所以知道了Git中追踪管理的其实是修改,而不是文件
git status #查看当前仓库状态 可以通过这个查看上次提交后到现在是否有文件被修改了
不过这个git status 只能查到那个文件被修改了,但是不知道修改的内容,要想知道,就需要用
git diff [file] #查看工作区与暂存区的差异
除了git diff
git diff HEAD -- [file]#用来查看工作区与版本库的差异
Git能够管理⽂件的历史版本,这也是版本控制器重要的能⼒。如果有⼀天你发现之前前的⼯作做的出现了很⼤的问题,需要在某个特定的历史版本重新开始,这个时候,就需要版本回退的功能了
版本回退的命令是git reset
,该命令⽤于回退版本,可以指定退回某⼀次提交的版本。要解释⼀下“回退”本质是要将版本库中的内容进行回退,⼯作区或暂存区是否回退由命令参数决定
git reset [--soft | --mixed | --hard] [HEAD] --mixed 为默认选项,使⽤时可以不⽤带该参数。该参数将暂存区的内容退回为指定提交版本内容,⼯作区⽂件保持不变。 --soft 参数对于⼯作区和暂存区的内容都不变,只是将版本库回退到某个指定版本。 --hard 参数将暂存区与⼯作区都退回到指定版本。切记⼯作区有未提交的代码时不要⽤这个命令,因为⼯作区会回滚,你没有提交的代码就再也找不回了,所以使⽤该参数前⼀定要慎重 HEAD 说明: ◦ 可直接写成 commit id,表⽰指定退回的版本 ◦ HEAD 表⽰当前版本 ◦ HEAD^ 上⼀个版本 ◦ HEAD^^ 上上⼀个版本 ◦ 以此类推... • 可以使⽤〜数字表⽰: ◦ HEAD~0 表⽰当前版本 ◦ HEAD~1 上⼀个版本 ◦ HEAD^2 上上⼀个版本 ◦ 以此类推...
可以看到,对应现在一共有4个版本,那么我们对其使用git reset --hard
将版本库,暂存区,工作区的都回退到第一个版本
git reset --hard HEAD^3 #写法一
git reset --hard [commit id]
通过commit id 回退到第一个版本后,就发现在提交第一次之后提交的test2,test3就没了,想恢复回退前的版本也可以使用commit id
不过我们回退后使用git log其实是看不到后面版本的commit id的,
想要在回退后查看到对应版本的commit id
就需要使用git reflog
对于上面的第一列的 b4c2a30 , f61af46 ,7df5220其实是commit id的一部分,Git版本回退的时候,也可以使⽤部分 commit id 来代表⽬标版本
如果我们在工作区中的编写感觉不太行,不想用这个版本了,想重新从上个版本写,就需要恢复到上一个版本,这个就叫撤销修改,撤销的目的是为了不去影响远程仓库的代码(没有进行git push)
不过撤销修改有多个场景,
我们修改后的内容只存在在工作区中,没有将修改后的存入暂存区和版本库,简单来说就是修改后没有进行Add和Commit操作
这个场景下,我们只需要撤销工作区的操作就行了
git checkout -- [file] #将工作区文件回到最近一次提交的状态,切记 -- 不能省略
我们修改后的内容不止在工作区有,也存在到了暂存区中,但是版本库中没有,就是进行了Add操作,但是没有进行Commit操作
这个场景下,我们需要撤销工作区与暂存区的操作
这个想要回退就可以
方法一:先使用前面的git reset --mixed [HEAD]
命令去回退暂存区的内容,再使用git checkout -- [file]
去回退
工作区的内容
方法二:直接使用git reset --hard HEAD
将工作区和暂存区的全回退到当前版本
我们修改后的内容在工作区,暂存区,版本库中都有,就是进行了add和commit操作了
这个场景下我们需要撤销工作区,暂存区和版本库的操作
只需要使用git reset --hard HEAD^
命令就行了
我们在git目录中的rm操作其实是只对工作区进行删除了,但是版本库中没有真的删除,就需要操作add和commit 才能对版本库的文件也删除
步骤:使用git rm [file]
对工作区与暂存区的删除,在commit将这个删除操作提交到版本库进行删除
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。