1.git一般工作流
克隆git资源作为工作目录
在克隆的资源上添加或者修改文件
如果其他人修改了,可以更新资源
提交前查看修改
提交修改
修改后如果发现错误,可以回撤
2.基本概念
工作区: 电脑里能看到的目录
暂缓区:.git目录下的index文件
版本库:工作区中有一个隐藏的.git
3.创建仓库
初始化仓库 git init
指定目录作为仓库 git init newrepo
将当前目下的文件纳入版本控制
git add *.c
git add README
git commit -m "初始化版本控制"
[将所有以.c后缀的文件和README提交到仓库中]
从现有仓库中克隆项目 git clone <repo>
克隆到指定目录 | Git clone <repo><directory> |
4.基本操作
获取与创建 git init
git clone
基本快照 git add 将文件添加到缓存
git status 查看当前项目状态
git diff 查看git status的详细信息,已写入缓存和已修改尚未缓存的difference
尚未缓存的改动:git diff
查看已缓存的改动: git diff --cached
查看已缓存的与未缓存的所有改动:git diff HEAD
显示摘要而非整个 diff:git diff --stat
| git commit 将缓存区内容添加到仓库 | |
git commit -a 相当于git add .后git commit |
git reset HEAD 取消已经缓存的内容
gir rm file 将文件从缓存区和硬盘删除
git rm --cached 在工作目录保留文件
git mv 做的所有事情就是 git rm --cached 命令的操作, 重命名磁盘上的文件,然后再执行 git add 把新文件添加到缓存区。
5.分支管理
创建分支 git branch (branchname)
切换分支 git checkout (branchname)
合并分支 git merge
列出分支 git branch
删除分支 git branch -d (branchname)
合并冲突:多个不同分支修改同一内容后合并,需要手动解决,解决后使用git add 告诉冲突已解决
6.查看历史提交记录
git log 列出历史提交记录
--online 记录简介版
--graph 开启拓扑图选项,查看分支合并记录
--reverse 反向
--author 查看指定用户的提交日志
--since --before --until --after 指定日期
7.git标签
git tag标记某一个重要提交快照
git tag -a v1.0 给最新一次提交打上 (HEAD) v1.0标签
-a 创建一个带注解的标签
-m 指定标签信息
8.远程仓库 github
添加一个新的远程仓库 git remote add [shortname] [url]
查看当前远程仓库 git remote
git remote -v查看实际链接地址
提取远程仓库
git fetch 从远程仓库下载新分支与数据,执行完需要git merge
git pull 从远端仓库提取数据并尝试合并到当前分支
推送到远程仓库
git push [alias][branch] 将branch分支推送到alias远程仓库的branch分支
删除远程仓库 git remote rm [别名]