总结git一些基本操作
最最开始要添加自己的ssh到github的账户上
open ~/.ssh
cd ~/.ssh
cat id_rsa.pub
然后将内容添加到github上就OK了~
查看当前用户
git config —global user.name
git config —global user.email
基本快照
git init //创建仓库
git clone // 合作时就要将别人的仓库复制下来
git add Redeem //将为上传的继续上传
git add . //将所有文件上传到仓库中
git add //在修改文件后,添加修改后的文件其余不变
//未使用commit提交前 ,也就是用add后进入缓存,查看缓存空间的状态
git status -s //查看当前的文件状态(简短的)
git status //详细的
git diff //主要应用于检阅和对照中,,会显示更改的具体信息,一行行列出
git diff —cached //查看已缓存的改动
git diff HEAD //查看所有已缓存以及未缓存的改动
git diff —stat 显示摘要而非整个diff
如果我们不想要看整个 diff 输出,但是又想比
git status
详细点, 就可以用 --stat
选项。该选项使它显示摘要而非全文。上文示例在使用 --stat
选项时所以,
git status
显示你上次提交更新至后所更改或者写入缓存的改动, 而 git diff
一行一行地显示这些改动具体是啥。 通常执行完 git status
之后接着跑一下 git diff
是个好习惯。git commit -m //提交并填写详细信息
git commit -a //省略了add放入缓存一步,直接提交
git reset HEAD —hello.js // 取消已缓存的内容
git rm hello.js //将文件从缓存区删除
git rm —cached //在工作目录中保留此文件
这与
git reset HEAD
将条目取消缓存是有区别的。 “取消缓存”的意思就是将缓存区恢复为我们做出修改之前的样子。 在另一方面,git rm
则将该文件彻底从缓存区踢出,因此它不再下一个提交快照之内,进而有效地删除它。git mv
虽然有
git mv
命令,但它有点多余 —— 它做得所有事情就是 git rm --cached
, 重命名磁盘上的文件,然后再执行 git add
把新文件添加到缓存区分支与合并
git branch // 列出可用的分支
git branch testing //创建testing分支
git checkout testing //切换到testing分支
git checkout -b testing //创建新分支并立即切换到他
git branch -d testing //删除testing分支
git merge testing // 将testing分支合并到主分支上
git log //查看日志
git log —oneline //查看历史纪录的简洁版本
git log —oneline —graph //查看历史什么时候出现分支、合并
git tag -a v1.0 //给历史纪录中的重要一点打上标签
并执行 git log —oneline —decorate —graph //查看标签
分享与更新项目
git fetch github/master 从远端仓库下载新分支与数据
git pull 从远端仓库提取数据并尝试合并当前分支
git push 推送你的新分支与数据到某个远端仓库
检查与比较
git diff
简而言之 使用
git diff
查看某一分支自它偏离出来起与过去某一点之间项目的改动。 总是使用git diff branchA...branchB
来查看 branchB 与 branchA 的相对差值,这会让事情简单点。git log // 过滤的你的提交历史纪录
git log —author //寻找特定作者的提交
git log —since —before 根据日期过滤提交纪录
例如,如果我要看 Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(还用了
--no-merges
选项以隐藏合并提交):git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
git log —grep // 提交注释过滤提交记录
git log -S // 依据所引入的差值过滤
git log -p 显示每个提交引入的补丁
git log --stat 显示每个提交引入的改动的差值统计