目录
0、基本概念
1、安装后,配置用户名和邮箱
2、基本提交操作
3、版本控制检查
4、版本回退
5、撤销修改
6、删除文件
7、推送或抓取分支
8、Git常见指令
我们先来理解下Git 工作区、暂存区和版本库概念
下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
$ git init //创建仓库
$ git add readme.txt //添加文件到暂存区
$ git commit -m "添加一个文件" //提交到仓库
当修改完readme.txt,而未提交文件,使用git status查看状态如下:
上面查询结果表明:readme.txt已被修改,但是处于未提交 状态。
可使用git diff readme.txt查看被修改的内容。如下:
使用git add xxx和git commit -m "修改信息记录"完,再次查询状态。
(1)查看版本提交记录
只看版本号和提交记录,方法如下:--pretty=oneline
(2)版本回退
方法一:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。
方法二:git reset --hard HEAD~100 ,回退前100版本。
方法三:git reset --hard 9eeb242 (上述版本号)
当在readme.txt添加一行数据,但是现在我想退回上一个版本。命令: git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,工作区与暂存区保持一致。
比如:有一个多余的test.txt文件
情况一:删除test.txt文件
情况二:想要恢复误删的test.txt文件
$ git checkout -- test.txt
(1)推送分支
推送到远端主分支命令: git push origin master
(2)抓取分支
抓取主分支命令:git clone https://XXXXX.git
想切换到dev分支做开发,就必须把远程的origin的dev分支切换到本地来,于是可以使用命令创建本地dev分支:git checkout –b dev origin/dev
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin https://github.com/xx/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/xx/testgit 从远程库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应的远程分支上
参考:
1.Git教程推荐一(廖雪峰)
2.Git教程推荐二(云溪)
3.Git 少用 Pull 多用 Fetch 和 Merge