github超简单用法
参考:
http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/
1. 为啥要用github
做一个项目会产生好多版本,可以记录下每个版本,比较每个版本之间的差异,出现差错可以方便的返回之前的版本。便于多人合作。
2. 申请github账号
github官网balabala填写信息申请一通。
3. 基本概念
repository:仓库,一个项目对应一个仓库
issue:问题,别人发现你的项目中有bug,给你提问题,需要你一个个修复。
star:点赞
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 用户执行以下命令:
- cd ~/.ssh
- cat id_rsa.pub
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" 合并分支并显示信息