GitHub学习笔记

环境:Ubuntu 16.04


初始配置命令

1. git config --global username "***" 配置本地用户
   git config --global usermail "**@***" 配置邮箱
2. git init 将目录初始化为Git仓库
3. git clone [url] 复制一个Git仓库

基本快照

Git的工作就是创建和保存你的项目快照及与之后的快照进行对比

1. git add 添加文件到缓存
2. git status 查看项目当前状态
   -s 获得简短的输出结果,其中第一栏为缓存,第二栏为工作目录
3. git diff   尚未缓存的改动
   --cached 查看已缓存的改动
   HEAD 查看已缓存与未缓存的所有
   -stat 显示摘要而非整个diff
4. git commit 记录缓存内容的快照
   -m '***' 提供提交的注释(若无-m则以VIM打开注释信息)
   -a 自动在提交前将已记录修改的文件放入缓存去
5. git reset HEAD 取消缓存已缓存内容
6. git rm 将文件从缓存区移除(默认从缓存及目录中删除)
   --cache:工作目录中保留

分支与合并

1. git branch 列出可用的分支
2. git branch *** 创建***分支
3. git checkout 切换分支
   -b 创建新分支,并立即使用
   -d 删除分支
4. git merge 将分支合并到当前分支
   e.g git merge testing 将testing分支合并
5. git log 显示一个分支中提交的修改记录
   --oneline 查看简洁版
   --graph 开启拓扑图
   e.g git log --oneline erlang ^master 显示erlang分支但不在主分支的提交
6. git tag 给历史记录中某点打上标签
   -a 穿件一个带注解标签
   --decorate 查看标签
   e.g git tag -a V1.0 给最想一次提交打上V1.0的标签

分享与更新

1. git remote 列出远端别名
   -v 每个别名的实际链接
   add 添加一个远程仓库 e.g git remote add [alias] [url]
   rm 删除某别名
2. git fetch 从远端下载新分支及数据
3. git pull 从远端提取数据并合并到当前分支.即fetch后紧接着merge
4. git push 推送新分支与数据至某个远程库 e.g git push [alias] [branch]

TPS:最近在一个新建仓库中发现,初次push远程仓库时失败,提示需要先pull合并一次,合并时有提示refusing to merge unrelated histories,这是由于双方commit数据不一致引起的,在2.9.2之后的版本中需要增加一个命令git pull origin master –allow-unrelated-histories进行合并