前言
说来惭愧,关于版本控制工具,此前虽然用过SVN和Git,但都是局限于本地管理,所以并没有远程仓的概念…
远程环境这里使用 GayHub,其他提供远程Git存储库的服务平台其实也大同小异。
本地配置
- Git 安装
- 配置个人信息
git config --global user.name <name>
git config --global user.email <email>
git config --list
- 配置SSH Key
cd ~/.ssh && ls
ssh-keygen -t rsa -C <email>
- 添加SSH Key 到 GayHub
cd ~/.ssh && cat id_rsa.pub
- 测试
ssh -T git@github.com
Git基础概念
- 工作区间:即我们的工程项目文件。
- 缓存区:只能通过
git GUI 或 git shell 窗口显示,提交代码、解决冲突的中转站。 - 本地仓库:只能在git shell 窗口显示,连接本地代码跟远程代码的枢纽,不能联网时本地代码可先提交至该处。
- 远程仓库:保存我们代码的服务器。
基本操作
仓库获取
拉取
git pull
提交
git commit
git push
分支管理
更新子模块
git submodule init
git submodule update
查看修改
git log -p
git log --stat
git show <commit> <file>
git diff --staged
git diff
git diff HEAD
提交了错误的commit
注意:rebase 在 git 中是一个非常有魅力的命令,使用得当会极大提高自己的工作效率;相反,如果乱用,会给团队中其他人带来麻烦。
多人协同开发常见问题
git pull --rebase
在线学习网站
Learn Git Branching
参考鸣谢
git图解:代码区域总结
图解git原理与日常实用指南
深入讲解
这才是真正的Git——Git内部原理揭秘!
这才是真正的 Git——分支合并
这才是真正的Git——Git实用技巧
详解 Git 大文件存储(Git LFS)
图解4种git合并分支方法
|