Github 及 Git

397 阅读1分钟

Github

github官网:github.com —— 借助github托管项目代码

  • 仓库(Repository):用来存放项目代码,每个项目对应一个仓库
  • 关注(Watch):当项目更新可接收通知
  • 收藏(Star):方便下次查看
  • 事务卡片(Issue):发现代码bug,需要讨论时用
  • 克隆(Fork):forked from 张三/test仓库(该fork的项目是独立存在的)
  • 发起请求(Pull Request)

开源项目贡献流程:

  1. 新建Issue——提交问题/建议/想法
  2. Pull Request——步骤:①Fork项目 ②修改代码 ③发起Pull Request ④等待作者审核

Git

git官网:git-scm.com —— 通过git管理github,托管项目代码

  1. 安装时选择使用命令行环境:Use Git from Git Bash only
  2. 安装完后设置用户和地址:
$ git config --global user.name "miaoyan-github"
$ git config --global user.email "13453973434@163.com"
$ git config --list 查看配置信息
  • Git Bash Here命令行模式
  • Git GUI Here图形界面

创建版本库

1.png

查看修改内容

2.png git diff HEAD -- readme.txt命令可查看工作区和版本库里最新版本的区别

版本回退

  • git checkout -- readme.txt可以丢弃工作区的修改(总之,就是让这个文件回到最近一次git commit或git add时的状态)
  • git reset HEAD readme.txt命令可把暂存区的修改撤销掉,重新放回工作区
  1. 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
  2. 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
  3. 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,可用版本回退,不过前提是没有推送到远程库。 3.png git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区
  • git reset --hard HEAD^/commit_id 回退到上一版本/id对应的版本
  • git reset HEAD readme.txt命令可把暂存区的修改撤销掉,重新放回工作区 4.png

删除文件

5.png $ rm test.txt删除工作区文件后的两种情况:

  1. 情形一:继续删除
$ git rm test.txt   从版本库中删除文件
$ git commit –m “remove test.txt”
  1. 情形二:误删恢复
$ git checkout -- test.txt  ( -- 不能省,否则为切换分支)

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”(参看图一)

远程仓库

6.png 7.png 8.png

分支管理

9.png 10.png 11.png 12.png

  1. $ git push origin dev推送自己的修改(失败) 与他人推送内容冲突,需抓取最新提交
  2. $ git pull抓取最新提交(失败) 未指定本地分支与远程分支的链接,需建立链接
  3. $ git branch --set-upstream dev origin/dev设置本地分支与远程分支的链接
  4. $ git pull再次抓取提交(成功) 冲突部分呈现在本地文档,需手动解决
  5. add 、 commit 、 push 完成添加、提交、推送 注:当步骤二成功时则无需第三四步

标签管理

13.png 14.png 15.png