主要来源于 小甲鱼
- 安装--官网下载安装
- 初次使用Git前配置
> git config --global user.name "Curezhang"
> git config --global user.email "xxxx@163.com"
查看信息是否写入成功:
> git config --list
查找帮助
> git --help
git工作流程
在工作目录中添加、修改文件;
将需要进行版本管理的文件放入暂存区域;
将暂存区域的文件提交到git仓库初始化Git
首先在你想要的地方创建一个文件夹----作为工作目录,比如叫MyProject
将终端的工作路径切换到MyProject中去,输入git init
即可初始化Git
> cd /Users/xiaoyu/MyProject
> git init
这时MyProject中会出现一个叫.git的隐藏文件,好吧,隐藏着就隐藏着吧,mac下目前发现取消隐藏就会finder中全部的隐藏文件都会出现
# 取消隐藏
> defaults write com.apple.finder AppleShowAllFiles TRUE
> killall finder # Finder需要重启才能应用修改,在终端中接着输入
# 隐藏
>defaults write com.apple.finder AppleShowAllFiles FALSE
> killall finder
- 写一个README.md文档在MyProject中
打开后写入以下内容
This is a big project!
将文件添加到暂存区域
git add README.md
将文件提交到Git仓库
git commit -m"add a read file"
- 查看当前状态---及之后的步骤
git status
在project中新建一个文件LICENSE
再输入
git status
会发现有 红色 的文件名出现,代表处于 工作目录 下,未被跟踪,既没有加入到暂存区域也没有提交
提交到暂存区域
git add LICENSE
再次查看状态---绿色的
git status
恢复暂存区域---因为后悔了
git reset HEAD
再到暂存区域,然后提交
git add LICENSE
git commit -m "add a license file"
修改LICENSE的内容
git status
git 给出两条建议:
git add
--将工作目录的新版本覆盖暂存区域的旧版本,然后准备提交---我做这一步吧
git checkout
--将暂存区域的旧版本覆盖工作目录的新版本(相当于丢弃工作目录的修改)
两个版本的license---再对license做一次修改
git status
这时第一个版本的LICENSE在暂存区---绿色
第二个版本的LICENSE在工作区---红色
如果要提交最新版本,则需要先add再commit
一步到位
git commit -am "change the license file"
-am 是 -a -m 的缩写
7.回到过去
回滚快照
HEAD表示最新提交到快照,HEAD~表示HEAD的上一个快照
HEAD~10表示上10个快照
git log
---发现有3个快照
git reset HEAD~
git log
---只剩2个快照了,最新的快照已经回滚到暂存区
git reset --mixed HEAD~
---首先移动HEAD的指向,将其指向上一个快照(HEAD~),然后再将该位置的快照回滚到暂存区域
git reset --soft HEAD~
--只移动HEAD的指向,但并不会将快照回滚-----其实就意味着 撤销了上一次的提交(commit)
git reset --hard HEAD~
----不仅移动HEAD的指向,将快照回滚到暂存区域,它还将暂存区域的文件还原到工作目录
好,上面都滚没了, 我们可以再滚回最开始
这时候需要提交到几个版本的ID号,就是终端里的commit(输入git log后) 之后那一串的几位吧,最好5位或多
git reset 281f9c7d30d3
----这是第二个快照
git reset --hard a228a7fd86a0e9f9
----这是第一个快照
如果终端关掉了
git reflog
第一列就是每次执行完命令,HEAD指向的版本ID号啦
8.版本比较