学会Git GitHub
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
git的安装这里就不多说了,网上的教程很多。
Git基本操作
Git可以管理任何一个文件中的文件和子文件,只要在该文件夹中执行“git init”,就可以让Git完成管理前的准备工作
git init
配置name和email
$ git config --global user.name "name"
$ git config --global user.email "email"
把我们要提交的文件的信息添加到索引库中(缓存区)
git add
查看当前状态
git status
把文件改到本地库中
git commit -m '操作说明'
一次性提交,不必添加缓存区
git commit -am '操作说明'
修改操作说明
git commit --amend -m '新的操作说明'
启动图形查看模式
gitk
从另一个存储库或本地分支获取并集成(整合)
git pull
命令用于将本地分支的更新,推送到远程主机
git push
查看含有某人的提交
git log --author="luo" // 含有luo的人名
查看提交更新。一个常用的选项是 -p,用来显示每次提交的内容差异。 你也可以加上 -2 来仅显示最近两次提交:
git log -p -2
查看某个时间节点之前或之后的提交
git log --after="2017-08-29 10:30"
git log --before="2017-08-29 10:30"
如果你想看到每次提交的简略的统计信息,可以使用 --stat 选项
git log --stat
取消暂存的文件
git reset HEAD <file>
将当前的分支重设(reset)到指定的<commit>或者HEAD(默认,如果不显示指定<commit>,默认是HEAD,即最新的一次提交)
git reset [--hard|soft|mixed|merge|keep] [<commit>或HEAD]
撤消修改 - 将它还原成上次提交时的样子
git checkout -- <file>
查看你已经配置的远程仓库服务器
git remote
显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
git remote -v
添加远程仓库
git remote add <shortname> <url>
从远程仓库中抓取与拉取
git fetch [remote-name]
远程仓库的移除与重命名
git remote rename
git remote rm <name>
克隆存储库
git clone <url>
创建分支
git branch <new-branch>
删除分支
git push origin --delete <branch-name>
合并某个分支到当前分支
git merge version.2
重命名分支
git branch -m <old-name> <new-name>
比较差异
git diff <file> // 比较当前文件和暂存区文件差异 git diff
git diff <commit-id1><commit-id2> // 比较两次提交之间的差异
git diff <branch1> <branch2> // 在两个分支之间比较
git diff --staged // 比较暂存区和版本库差异
git diff --cached // 比较暂存区和版本库差异
git diff --stat // 仅仅比较统计信息
本地分支关联远程分支
git push --set-upstream origin <branch-name>
分支代码合到master
git checkout master
git merge --no-ff <branch-name>
git push origin master
暂存当前文件夹的文件状态
git stash save // 暂存文件
git stash list // 显示commit版本
git stash pop 或者 git stash apply // 取出暂存文件,并且合并到当前文件夹中的文件