1、安装git
linux安装git
直接yum安装git版本最有1.8.6的太老了,编译安装
1、安装依赖包: yum -y install epel-release yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 2、安装依赖时,yum自动安装了Git,需要卸载旧版本Git yum remove git (不删除也行,下边使用rm删除也可以) 3、下载git安装包: wget https://codeload.github.com/git/git/tar.gz/v2.25.1 tar xf git-2.25.1.tar.gz cd git-2.25.1/ make prefix=/usr/local/git all make prefix=/usr/local/git install 如果编译失败可以使用:make clean 来清除编译 rm -rf /usr/bin/git ln -s /usr/local/git/bin/git /usr/bin/git git --version
win安装git
在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。 https://git-scm.com/downloads 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置:
git config --global user.name "Yan Qi"
git config --global user.email "573143765@qq.com"
注意:git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
2、基本操作
说明:工作区:把你电脑上的一个文件夹使用git init 初始化成一个空仓库;
版本库: 暂存区(stage):git add 就是把仓库里的文件放到暂存区,git diff 文件对比就是版本库里的; git status 就是检查这里文件是否为空,有文件提示本修改未提交,没有就提示目前是干净的;
版本库(master):commit 就是把暂存区的文件一次性提交到版本库里,提交后暂存区是空的;
1、创建版本库
(git init)
选择一个合适的地方,创建一个空目录,通过git init命令把这个目录变成Git可以管理的仓库
mkdir git01 cd git01/ git init
注释:当前目录下多了一个隐藏的.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
2、文件添加到版本库
(git add)(git commit)
进入git仓库 cd git01/ 编辑一个文件 vim 1.txt 1234561 把文件添加到仓库 git add 1.txt #提交指定文件 git add 1.txt 2.txt #提交多个文件 git add . #提交当前目录下的所有文件 把文件提交到仓库 git commit -m "wrote a readme file 1.txt"
3、修改未提交的文件
4、查看未提交和已提交文件的前后变更内容
5、返回之前的任意版本
当然这里也可以提交前边的git id
# git reset --hard 732438c27a5e6b
6、后悔药,返回任意版本
参看博文:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192
在上一个演示操作中,返回前一版本后,最新的那个版本就消失了,第二天后悔了,想再次昨天使用最新的那个文件
6、查看历史记录最好办法
设置别名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
7、撤销修改(没有执行commit)
场景1:当你改乱工作区某个文件的内容,想直接丢弃工作区的修改时,(使用 "git restore <文件>..." 丢弃工作区的改动); 前提条件:这个文件之前提交过(至少git add过),后期这个文件修改后没有进行git add也是可以恢复的,直接恢复的是之前git commit后的文件内容。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,(使用 "git restore --staged <文件>..." 以取消暂存); 再使用 (使用 "git restore <文件>..." 丢弃工作区的改动)
或 第一步用命令git reset HEAD <file> 再使用 (使用 "git restore --staged <文件>..." 以取消暂存)
场景3:已经提交了不合适的修改(即git commit)到版本库时,想要撤销本次提交,参考后悔药一节,不过前提是没有推送到远程库。
8、删除文件
确实要删除一个文件:
# rm -f * # git add . # git commit -m "remove 1.txt 2.txt"
错误删除:
每次感觉写对了就git add下,要不在工作区修改多次并没有git add,却想对到其中的一次修改是不行的
下边这个做法是恢复到最近一个提交的暂存(git add)或(git commit)库里的文件。
因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本: git restore 1.txt 原理:其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。