下载
$ yum install git
安装
git需要自报家门,输入当前用户的用户名和邮箱
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
–global代表对本机所有仓库(repo)使用这个用户名和邮箱,也可以单独设置仓库(repo)的用户名和密码。
使用
创建仓库(repository)
切换到你想要当作仓库的文件夹下,创建仓库。
$ mkdir learnGit //新建learnGit文件夹
$ cd learnGit //切换目录到learnGit下
$ git init //创建仓库
当前目录下会出现一个.git的文件夹,这就是git仓库管理文件,要是不想要这个仓库把这个文件夹删了就行了。
.git是隐藏文件,用下面的命令查看隐藏文件
$ ls -ah //查看隐藏文件
常用操作
查看工作区状态
$ git status //查看工作区状态
将文件添加到暂存区
$ git add 文件名 //将test.txt添加到暂存区
将暂存区文件添加到仓库
$ git commit -m "添加了test.txt" //将暂存区的内容添加到仓库
查看变更
$ git diff //查看当前工作区相对于当前index的变更
查看历史记录
$ git log //查看历史记录
$ git log --pretty=oneline //将每条历史记录压缩为一行
$ git reflog //查看之前的每一次指令
回退版本
$ git reset --hard 版本号 //回退到版本号为XXXXX的仓库
撤销修改
$ git checkout -- 文件名 //撤销工作区修改,让文件回到最近一次commit或者add的状态。
$ git reset HEAD 文件名 //撤销暂存区修改
删除文件
$ git rm 文件名 //删除工作区的文件,之后直接commit即可修改git文件。
创建SSH Key
$ ssh-keygen -t rsa -C "youremail@example.com" //在.ssh下会生成id_rsa和id_rsa.pub两个密钥
关联远程库
$ git remote add origin git@github.com:dakele123/dakele123.github.io.git //关联远程库
查看远程库
$ git remote //查看远程库信息
$ git remote -v //显示远程库更详细的信息
向远程库推送
$ git push -u origin master //向远程库第一次推送
$ git push origin master //向远程库推送
从远程库克隆
$ git clone git@github.com:dakele123/dakele123.github.io.git //从远程库克隆一个本地库
$ git checkout -b dev origin/dev //创建远程origin的dev分支到本地
查看现有分支
$ git branch //查看现有分支
创建分支
$ git branch 分支名称 //创建分支
切换分支
$ git checkout 分支名称 //切换分支
$ git checkout -b 分支名称 //创建一个新分支并切换到新分支
分支合并
$ git merge 分支1名称 //将某分支1合并到当前分支,删除分支1后,会丢失分支1的信息
$ git merge --no-ff -m "不丢失信息的分支合并" 分支1名称 //不丢失信息的分支合并
删除分支
$ git branch -d 分支名称 //删除已合并的分支
$ git branch -D 分支名称 //删除尚未合并过的分支
查看分支合并图
$ git log --graph --pretty=oneline //查看分支合并图
暂存工作
$ git stash //暂存工作现场
$ git stash list //查看暂存区
$ git stash pop //恢复+删除stash内容
$ git stash apply xxxx //仅恢复stash内容
$ git stash drop //删除stash内容