废话不多说了,看到好多git使用的还不是那么流畅的同学,所以写个教程贡献点力量。
推荐一个文档,挺不错的:https://git-scm.com/book/zh
Git 是什么?
Git 是版本控制系统。举个简单的例子,你写word或者ppt 的时候内容都会随着时间时间发生变化,git就是记录这种变化的系统。
Git 有三种状态,你的文件可能处于其中之一: 已提交(committed)、已修改(modified) 和 已暂存(staged)。
这会让我们的 Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。
工作区 工作区是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。 暂存区 暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git 的术语叫做“索引”,不过一般说法还是叫“暂存区”。 Git 仓库 Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。
基本的 Git 工作流程如下: 1.在工作区中修改文件。 2.将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。 3.提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。
以上是git基本的概念需要了解的内容,刚开始可能不是很理解,没关系,慢慢的实践当中会逐渐的熟悉的。
Git 基础
下面会以一个真是的git项目来演示。
git clone https://github.com/libgit2/libgit2
git clone 可以克隆远程仓库到本地。
基础操作
检查当前文件状态
git status
可以用 git status 命令查看哪些文件处于什么状态。 这说明你现在的工作目录相当干净,也就是说没有任何变动。 在状态报告中可以看到新建的 README 文件出现在 Untracked files 下面。
跟踪新文件
使用命令 git add 开始跟踪一个文件。 所以,要跟踪 README 文件,运行:
git add README
提交更新
git commit
这个命令会让你进入文本编辑器来输入提交说明:
~测试提交
~
~
".git/COMMIT_EDITMSG" 9L, 283C
请记住,提交时记录的是放在暂存区域的快照。 任何还未暂存文件的仍然保持已修改状态,可以在下次提交时纳入版本管理。 每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。
查看提交历史
git log
git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面。
撤消操作
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交:
git commit --amend
这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。
文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。
例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
$ git commit -m ’ commit 1’ $ git add text.txt $ git commit --amend 最终你只会有一个提交——第二次提交将代替第一次提交的结果。
取消暂存的文件
git reset HEAD CONTRIBUTING.md
取消某个文件暂存
git restore --staged text.txt
远程仓库的使用
git remote -v
从远程仓库中抓取与拉取
git fetch
如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。 所以,git fetch origin 会抓取克隆(或上一次抓取)后新推送的所有工作。
Git 基础 - 打标签
|