使用git管理自己的博客,已经有些时间了,但还从没有整理过git的使用,今天正好,有时间,就简单整理了一些,方便自己日后查找(但都是一些很基础的操作,简单实用型)
下载,安装,配置
下载链接在Git的官网上。
根据系统选择合适的安装包。
安装完毕后,我们要配置全局的用户名和邮箱。
为了标识自己的身份以便和其他人配合开发。我们需要先来配置一下自己的用户名和邮箱。
打开Git Bash工具,输入下面文本来配置自己的用户名和邮箱:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
基本使用
-
初始化一个仓库
git init -
把这个新建的文件添加到缓存区
git add readme.txtgit add .(添加文件夹下的所有文件) -
把缓存区的文件提交到自己的版本管理器上
git commit -m "this is v0.0.1"若提交时git commit(不填写注释信息)会跳到VI编辑器(不推荐使用),:q退出,回到原命令行 -
查看文件状态
git status若文件修改后没有添加到缓存区,会显示modified:文件名(红色) 若文件修改后添加到缓存区,会显示modified:文件名(绿色),然后提交commit -
删除文件
git -rm readme.textgit -rm -f readme.text(强制删除) - 回退到第一个版本
-
查看每个版本的版本号 1.1
git log(分行的完整版信息版本号、提交者、提交注释) 1.2git log --pretty=oneline(合并为一行的完整版信息版本号、提交注释) 1.3git log --graph(查看merge后的图标显示) - 回退到第一个版本
git reset --hard [第一个版本的版本号(可以为版本号前六位)] - 回退到上一个版本
git reset --hard [上一个版本的版本号(可以为版本号前六位)^]
-
-
查看分支
git branch -
新建分支
git branch dev(新建dev分支) -
切换分支
git checkout dev(将dev切换为当前分支) -
创建分支并切换成当前分支
git checkout -b class(把当前分支切换成新建的class分支) -
合并分支
git merge dev(将dev分支合并到当前分支) -
删除分支
git branch -d dev(删除dev分支) -
查看所有分支合并情况
git log --graph --abbrev-commitgit log --graph -
删除没有add的本地修改
git clean -fd - 删除add到缓存区的修改(可以把缓存区的修改撤销掉(unstage),重新放回工作区。)
git reset HEAD file
远程仓库(使用github作为远程仓库)
- 形成公钥与私钥
首先,因为通讯是基于ssh的,我们要先有一对rsa加密的公钥和私钥。
$ ssh-keygen -t rsa -C "youremail@example.com"然后去github网站上做设置,需要把公钥文件C:\Users\User\.ssh目录下的id_rsa.pub的内容复制到github设置页面中。 - 在github上添加远程仓库
在github页面上创建一个新的仓库(New Repository)。然后就可以将远程仓库和本地仓库进行关联:
git remote add origin git@github.com:mystzain/s7_demo.git添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的。然后就可以把本地库的所有内容推送到远程库上。git push -u origin master这里的-u会把本地的master和远程的master分支关联起来。以后只要本地作了提交,就可以通过命令git push origin master把本地master分支的最新修改推送至GitHub。 - 从github上克隆
git clone git@github.com:mystzain/xxxx.git - 将文件提交到github
4.1 先下载
如果多人修改了同一个文件的代码,试图上传到服务器上,就会发生冲突,可以先
git pull下载,然后在本地合并解决冲突再推送。 4.2 再提交 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交; - 其他
在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致; 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
最后放上专业链接供大家参考廖雪峰的git教程 图形化学习网站