Git learning
菜鸟教程学习记录
Git 配置
git config
命令专门用来配置或读取相应的工作环境变量。环境变量分为三种,分别存在三个地方:
- 所有用户:
/etc/gitconfig
- 个人用户:
~/.gitconfig
- 项目环境:当前项目工作目录中的 .git/config 文件
git config --list
可以查看已有的配置信息,vim ~/.gitconfig
也行。
Git 工作流程
Git 工作区、暂存区和版本库
三个概念:工作区、暂存区/缓存区(英文名叫index或stage)、版本库。
master那一般也被叫做仓库。
慎重使用checkout
命令,会用版本库中的index或者master覆盖掉工作区的内容。
Git基本操作
- git init
- git clone [url]
-
git add
-
git add README.md hello.php
后面可以跟多个文件
-
-
git commit
-
git commit -m "第一次提交"
-m 提交时候添加评论 -
git commit -a"
-a 跳过git add 到缓存区,直接提交到仓库。可以-am
一起用
-
- git status
- `git status -s -s 参数,以获得简短的结果输出,如果没加该参数会详细输出内容
- “AM” 状态的意思是,这个文件在我们将它添加到缓存之后又有改动。
- " M" 状态的意思是,本地发生改动
- "M " 状态的意思是,缓存区发生改动
- git diff
-
git diff
尚未缓存的改动 -
git diff --cached
查看已缓存的改动 -
git diff HEAD
查看已缓存的与未缓存的所有改动 -
git diff --stat
显示摘要而非整个 diff
-
-
git reset HEAD
命令用于取消之前 git add 添加到缓存的内容 - git mv
-
git mv
命令用于移动或重命名一个文件、目录、软连接。只是执行mv,只会更改本地的名字,缓存区中的名字不会改, - 执行git mv后,git status -s查看状态会出现"R ",表示文件被重命名
-
- git rm
-
git rm <file>
只删除本地 -
git rm -f <file>
删除本地和缓存区 -
git rm --cached <file>
只删除缓存区
-
Git 分支管理
- git branch
-
git branch
列出本地的分支 -
git branch newtest
手动创建一个分支
-
- git checkout
-
git checkout newtest
切换分支 -
git checkout -b newtest
创建新分支并立即切换到该分支下
-
Git 查看提交历史
- git log
-
git log --oneline
--oneline 选项来查看历史记录的简洁的版本 - –reverse 逆向显示所有日志
-
git log --author=Linus --oneline -5
找指定用户的提交日志 - 还可以指定日期等,更详细参考:
-
Git 标签
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。
- git tag
-
git tag
查看所有标签 -
git tag -a v1.0
-a 选项意为"创建一个带注解的标签"(执行完,Git 会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样。)。git log --decorate
可以看到标签 -
git tag -a v0.9 85fc7e7
忘记了打标签也可以补上
-
Git 远程仓库(Github)
参考 菜鸟教程