你应该知道的Git基础
2017-06-20 20:37
363 查看
你应该知道的Git基础
设置自己的用户名和邮箱git config –global user.name "Your Name" git config –global user.email "you@example.com"
修改到提交之间有一个缓存区
提交到缓存区
git add .当前所有修改提交到缓存区,也可以单独指定
git diff --cached查看缓存区和本地仓库里的差异
git diff HEAD查看已缓存和当前的区别
git diff查看当前未缓存的和本地仓库里的区别
git diff --stat显示摘要
撤销缓存区里的一个更改,例如hello.rb
git reset HEAD -- hello.rb
git rm file将file从文件缓存区、本地目录中移除
git rm file --cached只从缓存区移除,保存本地目录中的
分支操作
git branch列出可用的分支
git branch jser.me创建jser.me分支
git checkout -b jser.me检查jser.me分支是否存在,不存在就创建,并且切换过去
git branch -d jser.me删除分支jser.me
git merge其它分支合并到当前分支
git checkout -b gh-pages origin/gh-pages检出并且设置当前分支为远程分支gh-pages
Log查看
git log --oneline紧凑查看
git log --graph图形显示
git log erlang ^master查看只在erlang分支里的修改
git log --grep正则取一个log
git shortlog master生成一个简报
里程碑
git tag -a v1.0打上v1.0
恢复删除的文件
git checkout commitid -- pathfile
与人分享
git remote列出远端的别名
git remote add remotename remotepath以remotename命名remotepath
git remote rm remotename删除别名为remotename的远程仓库
git fetch只下载
git pull下载并更新
git push remotename branch推送本地分支branch到远程仓库remotename的branch分支
一些原则
新功能尽可能的开分支,但是定期合到master上来,不要把某一个分支长时间的开发 使用git-flow
Git的几个关键知识点
有三种状态:暂存 staged
修改 modify
已经提交
git status
前面状态有两列,头一列是暂存区的改动情况,如果你commit,它会提交,第二列是当前共工作区的状态,它是不会被提交的
冲突之后的解决
找到冲突的地方,手工解决,然后git add filename; git commit
只合并特定的分支特定文件
使用命令 git cherry-pick #commitid
checkout方法
git checkout branch -- filename
查看和远程分支的对比
先把远程分支搞到本地 git fetch origin master:temp, 从远程的origin仓库的master分支下载到本地并新建一个分支temp
比较分支
git diff temp
合并特定的文件,参考上面的
删除无用的分支
git branch -d temp
git diff
只显示有对比的文件 git diff 608e120 4abe32e --name-only
配合搞成压缩文件
git diff 608e120 4abe32e --name-only | xargs zip update.zip
如果不是查看每个文件的详细差别,而是统计一下有哪些文件被改动,有多少行被改 动,就可以使用‘–stat’ 参数。
diff指定的文件
查看今天的更改
git log --since=1.days
子模块
git submodule init 新拉下来的库,初始化所有的子模块git submodule add submodule-git-url local-name 给当前库添加一个子模块,路径为submodule-git-url, 文件夹名为local-name,一般我们把local-name和子模块的名字保持一致
git submodule foreach some-git-command 遍历子模块,并执行some-git-command,比如批量更新所有的子模块
git submodule foreach git pull origin master
相关文章推荐
- 你应该知道的基础 Git 命令
- 你应该知道的基础 Git 命令
- 你应该知道的基础 Git 命令
- 你应该知道的基础 Git 命令
- 你应该知道的基础 Git 命令
- 网管和黑客都应该知道的基础命令!
- 你应该知道的浮点数基础知识
- 每个程序员都应该知道的10大基础算法
- 每个程序员都应该知道的10大基础算法
- 位运算应该知道的一些基础知识
- 你应该要知道的git的基础
- 转载:你应该知道的浮点数基础知识
- 你应该知道的浮点数基础知识
- 你应该知道的浮点数基础知识
- 基础教程:Linux 新手应该知道的 26 个命令
- 接口和抽象类你应该知道的基础
- 应该知道的Linux基础技巧
- 你应该知道的浮点数基础知识
- 程序员应该知道的10大基础算法
- 你应该知道的git高级技巧