花了一下午看廖雪峰的git教程,写下学习心得。
一、准备工作
1.去官网下载git。(傻瓜式操作下一步下一步okokok)
2.在本地新建仓库(repository)。
选好一个路径
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
通过git init把他变成本地仓库
$ git init Initialized empty Git repository in /Users/michael/learngit/.git/
现在本地的仓库就建好了。
(请用Notepad++编辑txt文件,Win自带的文本编辑器会出各种各样的错)
3.提交代码两步走
- git add 文件名
- git commit -m"修改的信息"
二、git的命令实践
- git status 查看仓库当前的状态
- git diff diff=difference 查看修改了什么内容
- git log 查看改动日志,可以加参数
$ git log --pretty=oneline
在git中用head表示当前版本,上一个版本就是head^,上上一个版本就是head^^,上100个版本就是head~100。
4. git reset --hard HEAD^
三、工作区和暂存区原理
$ git checkout -- readme.txt
把文件在工作区的修改全部撤销
(这个命令里的--很重要 ,没有--就成了另一个命令“切换到另一个分支”)
在git中 删除也是一个修改操作
rm 文件名 删除
确实要从版本库删掉 git rm 文件名
另一种 删错了 git-checkout --文件名 找回来
四、添加远程库@important 重头戏!!
注意!执行下面操作时一定要在本地新建ssh,并且在github也新建ssh,具体操作请百度,不然git push的会报错
$ git remote add origin git@github.com:'你的github账号'/learngit.git
远程库的名字就是origin
$ git push -u origin master
成功~
从远程库克隆
$ git clone git@github.com:'你的github账号'/gitskills.git
五、分支合并的命令
创建并切换分支
$ git checkout -b dev
用git branch查看分支
$ git branch
切换分支
$ git checkout master
合并某个分支
$ git merge dev
删除废弃分支(合并后没用了)
$ git branch -d dev
解决冲突
用git log --graph可以查看合并图
用-ff表示禁用快速模式
$ git merge --no-ff -m "merge with no-ff" dev