什么是git
Git 是目前世界上最先进的分布式版本控制系统(没有之一)。
什么是版本库
版本库又名仓库(repository),可以简单理解成一个目录(存放好多版本的目录),目录里所有文件都被 Git 管理起来,每个文件的修改,删除,Git 都会跟踪,以便任何时候都可以追踪历史或者在将来某一时刻可以还原,说到这你可能还不是 Git 到底是什么鬼,我简单理解就是我们所做的项目经常进行修改等操作,导致项目有很多版本,Git 就是对这些版本进行控制处理的系统工具
Git 配置
可以保存 Git 用户名和电子邮件,这样就不必在以后的 Git 命令中再次输入它们。
在命令行中配置本地仓库的账号和邮箱:
$ git config ——global user.name "your name"
$ git config ——global user.email "email@example.com"
Git 基本版本控制
现在,我们可以开始对项目进行版本控制。使用 cd 命令导航到要在终端中设置版本控制的目录,现在你可以像这样初始化 Git 存储库:
$ git init 初始化一个 git 仓库
$ git status 查看仓库状态(例如是否有修改后待提交的文件或者版本改变)
$ git diff 查看 difference
这将创建一个名为 .git 的新子目录(Windows 下该目录为隐藏的),其中包含所有必需的存储库文件(Git 存储库框架)。至此,你的项目中尚未跟踪任何内容。
添加并提交(分两步)
对现有文件进行版本控制,先跟踪文件进行初始提交,先将文件添加并附加到Git项目中
**$ git add <file> 添加到本地文件(反复多次使用,添加多个文件)或者理解成添加到暂存区
$ git commit -m 'first commit' 提交到本地版本库(可以一次提交多个)完成
版本回退
在 git 中用 HEAD 来表示版本上一次是 HEAD^,上上一次 HEAD^,上100个HEAD~100。323234yrgehf43..是 commit id 版本号,如果都用 1,2,3 作为版本号,会冲突,所以使用 SHA1 计算出来非常大的数字,用十六进制表示
穿梭回以前
$ git log 查看最近到最远的提交日志历史,方便确定回退到哪个版本
因为多人在同一版本库里工作
$ git reset --hard commit_id 重置到指定版本号版
从以前回到现在
$ git reflog 查看命令,已确定回到未来哪个版本
三种情况小结
情况1 当乱改了工作区某个文件的内容,还添加到了暂存区,用 $ git checkout --file 该行命令撤回修改
情况2 当乱改了工作区又添加到了暂存区,想丢弃修改分两步,第一步用 git reset HEAD file 回到情况1,然后再执行情况1
情况3 工作区修改->添加到暂存区->提交到本地版本库,那么则进行版本回退
远程备份
如果你想远程保存和备份项目,则需要在 GitHub 上创建一个远程存储库(免费的!)。因此,首先转到 http://github.com 并创建一个存储库。然后,使用存储库的链接将其添加为本地 git 项目的来源,即该代码的存储位置。
**# 示例
git remote add origin \
https://github.com/wupeixuan/repo.git
# 以我的一个仓库为例
git remote add origin \
https://github.com/wupeixuan/JDKSourceCode1.8.git
然后,你可以继续将代码推送到 GitHub!
git push origin master