初识git(17/8/21)
git是一个分布式的版本管理系统
通过廖雪峰的官方网站(maybe2017)来学习的,比较详实跟着操作就行,记录基本的一些命令还有学习是遇到的一些问题和收获,方便下次查阅。
-
git的安装
-. window系统安装github后就自动有了一个git bash命令行工具,看起来是github集成了git。也不知道是不是一样的?反正现阶段水平是感觉不到的。
-. mac系统安装Xcode,Xcode集成了git -
创建版本库
- 创建在哪儿? 这个就需要基本的命令行的知识
- pwd 显示当前目录
- mkdir learngit 创建文件learngit。
- cd leaarngit 进入文件learngit
4. git init 在当前目录下创建.git文件,此文件就包括了暂存区和本地的版本库,可以跟踪和管理版本。
- 创建好.git之后就可以在这个目录下创建项目了,手动新建一个learn.txt。
- git add
把文件改变提交到暂存库 表示一个文件,比如刚才的learn.txt - git commit -m"描述一下改变内容的意义,我添加了第一个文件" 这个命令把暂存库中的变化添加到仓库
3 git add learn.txt learn2.txt 可以一次性提交数个文件到暂存库下·
- git add
- 创建在哪儿? 这个就需要基本的命令行的知识
-
版本管理
- 查看
- git status 把所有改变了的文件显示,是否已经把改变添加到暂存区、上传到版本库有不同的提示
- git diff
会显示你直接对文档做的修改,比如你修改了的工作区目录下的readme.txt的内容,如果已经通过$git add reademe.txt操作来把改变添加到了暂存区,那么就不会显示。 - git log显示从最近到最远的提交日志,只能向后查看
git log --pretty=oneline让日志信息在一行显示 - git reflog查看版本的命令历史,可以查看版本号,可以向前查看,版本回退后,向前的版本使用log是看不到的。
- cat
查看文档内容
- git reset --hard HEAD回到上一个仓库里面版本,上面的commit会把变化写进版本,生成新的版本和对应的版本号。HEAD^,往上数第两个版本,
git reset --hard 3628164切换到版本号对应的版本,3628164 并不是全部的版本号,前面几位即可完成查询
- 查看
-
撤销
- git checkout --
撤销那些只是在工作区的更改,回到上一次暂存区存储的状态。 - git reset HEAD
撤销在已经存放在暂存区上的更改,回到上一次版本库的状态。此处的HEAD也可以表示更早的版本。
- git checkout --
-
删除文件
rm
删除文件,效果同手动删除 -
远程仓库,
注意一些常用词repository表示项目的版本仓库。
- ssh-keygen -t rsa -C "youremail@example.com"如果用户目录下没有.ssh,使用此命令创建一个.ssh。需要输入自己的邮箱哦
- .ssh目录下的公钥。id_rsa.pub文件中的内容复制下来,到github的官网设置页面添加SHHkey。
- git remote add origin git@github.com:muyude/learngit.git 本地仓库关联github上的仓库,git@github.com:muyude/learngit.git是你在git'hub上建立的仓库的ssh密钥,注意换成自己的账号名字和仓库名称
- git push 本地仓库的内容推送到远程,
git push -u origin master 第一次推送的时候把本地的分支和远程的master分支关联起来,在使用的时候出现了报错,注意让你选择的时候输入yes在回车。后面使用的时候仍然会报错,原因未知,可以使用 - $ git clone git@github.com:michaelliao/gitskills.git 把michaelliao的仓库gitskills克隆到本地。clone不仅仅支持shh协议,也支持http协议,
-
分支
- git branch dev 创建分支dev
- git checkout dev 进入分支dev
- git checkout -b dev 创建并且进入分支dev
- git merge dev 把分支dev上的改变,合并到当前的分支上。
- $ git merge --no-ff -m "merge with no-ff" dev不适用快速模式合并分支
- git branch -b dev 删除分支dev
- $ git log --graph --pretty=oneline --abbrev-commit查看历史分支
-
bug管理
- git stash存储当前的工作,方便尽心其他临时紧急工作
- git stash apply恢复内容
- git stash drop删除存储的内容
- git stash pop恢复同时删除内容
- git stash listc查看工作保存的内容
-
标签管理
- git tag v 1.0给当前分支打一个标签v1.0
- git tag v0.9 6224937 给当前分支id为6224937 的版本添加标签v0.9
- git tag 查看标签
- git show v0.9查看标签信息
- git tag -d v0.1删除标签
- git push origin v1.0把标签推送到远程
- git push origin --tags把所有的本地标签推送到远程
- git push origin :refs/tags/v0.9删除远程标签,之前必须删除本地标签
1 $ git config --global alias.st status 配置别名 用st代替status
浙公网安备 33010602011771号