参考:git
http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/github
1. 为啥要用github算法
作一个项目会产生好多版本,能够记录下每一个版本,比较每一个版本之间的差别,出现差错能够方便的返回以前的版本。便于多人合做。windows
2. 申请github帐号安全
github官网balabala填写信息申请一通。ssh
3. 基本概念测试
repository:仓库,一个项目对应一个仓库spa
issue:问题,别人发现你的项目中有bug,给你提问题,须要你一个个修复。.net
star:点赞3d
fork:分支,别人fork你的项目后进行修改,不影响原项目。
pull request:fork后但愿把改变应用到原项目中,向原项目提出申请。
4.git
git是啥:本地的版本控制库
git安装:
Mac:https://sourceforge.net/projects/git-osx-installer/
Windows:https://git-for-windows.github.io/
准备工做:
配置身份
$ git config --global user.name "aaa"
$ git config --global user.email "aaa@163.com"
查看是否配置成功
$ git config --global user.name
$ git config --global user.email
git最基本的命令:
cd… :进入项目存在的目录
git init:初始化仓库
git add:添加文件至git仓库(添加至暂存区,提交必备步骤一)
git commit:(提交必备步骤二)
用法:git commit –m "123"(引号内为版本名)
*以上是每次必备操做
5. 向github提交代码
github是啥:远程仓库(防止你的电脑废了,请在远程端存一份。也便于多人合做。)
准备工做:
i.SSH
在Git Bash 里输入 ssh 若是出现如下提示证实你本机已经安装 SSH(通常默认都安装了,要是你不幸没安装,本身搜解决方法吧…)
输入 ssh-keygen -t rsa ,指定 rsa 算法生成密钥,接着连续三个回车键(不须要输入密码),而后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认分别在以下目录里生成:
Linux/Mac 系统 在 ~/.ssh 下,win系统在 /c/Documents and Settings/username/.ssh 下,都是隐藏文件。
ii. GitHub 上添加 SSH key
第一步先在 GitHub 上的设置页面,点击最左侧 SSH and GPG keys :
而后点击右上角的 New SSH key 按钮:
须要作的只是在 Key 那栏把 id_rsa.pub 公钥文件里的内容复制粘贴进去就能够了(上述示例为了安全粘贴的公钥是无效的),Title 那栏不须要填写,点击 Add SSH key 按钮就ok了。
这里提醒下,怎么查看 id_rsa.pub 文件的内容?
Linux/Mac 用户执行如下命令:
Windows用户,设置显示隐藏文件,可使用 EditPlus 或者 Sublime 打开复制就好了。
SSH key 添加成功以后,输入 ssh -T git@github.com 进行测试,若是出现如下提示证实添加成功了。
经常使用命令:
git pull origin master:将远程代码更新至本地。
git push origin master:将本地代码推至远程master分支
*通常为避免冲突,建议先pull后push
6. 每一个项目的具体操做方法
a) 在本地建立项目(init --> add --> commit)
b) 修改文件内容后(add --> commit)
链接github
c) 在github上建立一个repository后,复制
git remote add origin...
git push -u origin master
7. git其余命令
git status 查看状态
git log 查看更改状态(--oneline 在同一行显示)
git diff 查看add先后的不一样
git diff --cached 查看commit先后的不一样
git diff HEAD 查看全部不一样
git commit (-m 提交;--amend修改现有版本 --no-edit不进行编辑)
git commit -am "name" add+commit(文件需已被添加到仓库中)
8. 状态的改变
reset在commit之间穿梭:
git reset --hard HEAD 回到上一个状态
git reset --hard HEAD~5 回到上5个状态
git reset --hard 12314512(id号) 回到id号的状态
git reflog 显示HEAD的每一步变化
checkout针对文件:
git checkout 234091(id) -- 1.py(文件名) 文件的状态恢复到id状态
9. 分支
git branch dev 创建分支dev
git branch 查看全部分支
git checkout dev 转到dev分支
git branch -d dev 删除dev分支
git checkout -b dev 创建dev分支,并把指针移到dev上
git merge 将分支合并进来
git merge --no-ff -m "message" 合并分支并显示信息