什么是git
首先,git是一种分布式版本控制系统,学会git,首先需要理清楚工作区,暂存区以及本地版本库之间的联系.
那什么是工作区:就是你在本地创建的目录文件夹,你可以在里面进行操作的地方
而暂存区就是:你在初始化git的那个目录(git init)时,出现的.git里面有一个stage,这个stage就是暂存区.
.git就是你的本地版本库.
本地git配置
创建本地仓库的用户名与密码
git config --global user.name "用户名"
git config ---global user.email "密码"
在C盘用户目录.gitconfig中查看设置结果
把文件提交到版本库是分两步执行的:
首先是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
可以使用:
git add 文件名 #添加某个文件
git add . #提交修改过的文件
git add -A #提交所有文件
然后是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
git commit -m "一个说明或者备注" #注意如果没有备注会出现
Aborting commit due to empty commit message.
我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。
你可以理解为,需要提交的文件或者修改过的文件通通添加到暂存区,然后,一次性提交暂存区的所有修改到版本库。
第一次使用gitee,为其添加ssh秘钥:
首先,你需要 git-keygen -t rsa生成公钥与私钥,然后将公钥中的内容复制到gitee的ssh公钥中.
在gitee中创建一个仓库,然后本地仓库在提交之前先要与远程仓库建立连接:
git remote add origin 远程仓库的url
git status:也就是查看暂存区文件的状态
红色文件代表没有提交到暂存区
绿色文件代表已经提交到暂存区
untracked:就表示该文件从未被添加到暂存区
克隆:git clone 远端仓库地址
1、将远程指定分支 拉取到 本地指定分支上:
git pull origin 远程分支名:本地分支名
2、将远程指定分支 拉取到 本地当前分支上:
git pull origin 远程分支名
3、将与本地当前分支同名的远程分支 拉取到 本地当前分支上
git pull
使用3是需要先关联远程分支,只需关联一次:
git branch –set-upstream-to=origin/远程分支名
本地仓库和远程仓库消除差异化:
git pull --rebase origin master
git log --oneline #查看日志,commitid显示前七位
或者 git log --pretty=oneline 显示完全的commitid
文件对比
git diff --staged #暂存区与HEAD比较
git reset和git revert区别:
git reset是直接删除指定的commit,也就是指定回到那一次的commit,在这commit之后所有的提交都删除.
git revert是用一次新的commit来回滚之前的commit,就是让你指定去修改某次提交的文件,然后重新add和commit,生成了一次新的提交记录.
简单地说,就是reset中的HEAD是往回走的,而revert的HEAD是继续往前走的.
一些简单命令:
git branch #列出分指
git checkout -b 分支名 #创建分支并切换到该分支
git branch -d 分支名 #删除分支
git merge #分支合并,注意在你需要留下的分支使用该命令合并其他分支
git restore:
一种是你修改了文件,没有将文件add到暂存区,可以直接使用:
git restore 文件名
进行恢复
一种是add到了暂存区,你需要使用:
git restore --stage 文件名
让该文件回到工作区
在使用:git restore 文件名 # 还原对文件所做的修改
或者 git restore .# 还原当前目录中的修改: 删除文件,修改文件内容