
学完git总算可以正规化这个博客的日常操作了。
学习素材是《git community》和实验楼的Git实战教程。
比起看一看还是自己手打一遍舒服。
获得Git仓库
法1.从网上获取。
git clone +仓库地址
法2.创建并初始化本地仓库。
mkdir project //新建文件夹
cd project
git init
Git的基本流程
- 创建或修改文件。
- 使用git add命令 添加新创建或者修改的文件到本地的缓存区。(Index)
- 如果是删除,则使用git rm命令将已删除文件的信息加到缓存区。
-
查看项目状况
git diff --cached //查看会被提交的文件 git diff //查看已经修改的但是未被加入索引的文件(q退出) git status //查看当前项目的状况 -
使用git commit 命令提交到本地代码库。
git commit -m "这是提交" git commit -a -m "这是把没有提交到缓存的区的修改一起提交的操作" -
使用git push命令将本地代码库同步到远端代码库。
分支与合并
git branch branchname //创建分支
git branch //查看当前分支及仓库中所有分支
git checkout branchname //切换分支
git merge -m 'dddd' branchname //将分支与master合并
//如有冲突需要手动解决,add了再commit
git branch -d branchname //删去已合并的分支
git branch -D crazy-idea //强制删除分支
git reset --hard HEAD //撤销合并
git reset --hard ORIG_HEAD //撤销已经提交的合并
git diff master..branchname //比较两个版本之间的差异
git diff branchname //当前工作目录和其他分支的差别
//也可加入路径限定符,来比较某一文件或者目录
git pull 地址 branchname //把分支拉下来(包括两个步骤,从远程分支抓取修改内容再合并进当前分支)
git fetch branchname //抓取下来但是不修改合并进当前分支
git remote add nickname 地址 //定义远程分支的缩写
git push 地址 //将其push到公共仓库
Git日志
git log //显示所有的提交
git log --stat //查看详细日志
git log --pretty=short //还可以选择email,medium,full,fuller,raw,oneline
//日志排序的各种参数
--topo-order
--date-order
--reverse //逆序
Git标签
//轻量级标签
git tag tagname commitID (前八位即可)
中级技能
//忽略某些文件
添加一个.gitignore的文件,在里面写入需要忽略文件的名字,可以使用通配符*,以及取反符号!
//储藏
git stash "work in progress" //会保存本地修改到储藏中,并还原到分支上次提交时的状态
git stash apply //修复完bug后恢复到以前的工作状态
git stash list //查看储藏队列(队列里的都可以apply
git stash clear //清空储藏队列
//撤销
git reset --hard HEAR //让工作目录回到上次提交时的状态
git checkout --hello.rb //把hello.rb从HEAD中签出,并将其恢复成未修改时的样子
//修复已提交文件中的错误————创建一个新的提交,在新的提交里撤销老的提交,所作的修改
git revert HEAD //撤销老的提交然后留下完整的老提交前的版本
git revert HEAD^ //上上次的
//维护
git gc //git历史信息的压缩
高级技能
//补丁
git format-patch origin //包含当前分支与origin/HEAD之间的差异内容
删除某文件夹
git remote add origin 地址
git rm -r --cached "文件夹名称"
git commit -m'删除'
git push -u origin master




近期评论