Git 与 GitHub

来源:互联网 发布:疯狂java讲义精粹版 编辑:程序博客网 时间:2024/06/05 07:22

注: Git bash常用的控制台操作:

$ cd c:/users/totoro/Git   打开一个目录地址$ cd ..                    回到上一级目录$ cd ~/.ssh                查找 .ssh 的文件夹并打开$ ls ~/.ssh                打开目录 .ssh 文件夹下的目录ctrl + D                   退出控制台

  • 一 认识Git与GitHub的关系
  • 二 Git 下载地址
  • 三 使用GitHub
  • 四 正式从本地上传已存在的项目至GitHub
  • 五 从GitHub 克隆项目到本地
  • 六 fork 其他GitHub的源代码
  • 七 Git 建立分支管理
  • 八 Git 实现版本管理
  • 九 GitHub 仓库 setting可重命名可删除等

一、 认识Git与GitHub的关系:

  • Git:分布式版本控制工具
  • GitHub: 用Git做版本控制的项目托管平台

二、 Git 下载地址:

Git官方下载地址:https://git-scm.com/downloads
安装参考网站:http://blog.csdn.net/Bitter_2014/article/details/4348516

注:记得勾选 自带命令行工具 Git Bash 或者 两者都有 (Git Bash & Git GUI)
这里写图片描述


本地创建版本库 右键单击:Git Bash Here

相关命令行:

操作命令 注释 $ git init git 初始化 $ git add “文件夹/ 单个readme.txt” 添加到暂存库 $ git commit -m “注释add a new file” 添加到版本库 $ git log –pretty=oneline 查看HeadCommitId 记录 $ git reflog 查看所有的操作命令 $ git reset –hard HeadCommitId 恢复到指定的HeadCommitId $ git reset –hard HEAD 查询当前的版本Head $ git rm “readme.txt” 删除文件 $ git commit -m “cancel readme.txt” 从版本库中确认删除 $ git checkout – “readme.txt” 查询当前的版本Head

git 的存放过程图:

这里写图片描述

相关命令操作
这里写图片描述

三、 使用GitHub

  1. HTTPS: 克隆对初学者来说比较方便,但是每次 fetch / push 代码都需要输入账号和密码
  2. SSH: 只需要配置好 SSH Key, 不需要每次输入密码, 但是必须时项目的拥有智能
    这里写图片描述
  3. 生成SSH密钥过程:

    1. 查看是否已经有了ssh密钥:cd ~/.ssh
      如果没有密钥则不会有此文件夹,有则备份删除
    2. 生成 密钥:
      $ ssh-keygen -t rsa -C “msniu33@163.com”
      按3个回车,密码为空。得到文件: id_rsa和id_rsa.pub
      -t 是格式
      -C 是备注,一般为邮箱地址
    3. 读取文件是否已经生成, 也可以到安装路径下查看
操作 命令 注释 ~/.ssh 查看是否存在 ls ~/.ssh 打开 .ssh 文件夹下的目录 cat ~/.ssh/id_rsa.pub 读取指定路径的文件内容

这里写图片描述

这里写图片描述

这里写图片描述

  1. 添加密钥到 GitHub
    这里写图片描述

四、 正式从本地上传已存在的项目至GitHub

  1. https 上传命令
  2. SSH 上传命令
    这里写图片描述
  git init  git add README.md  git commit -m "first commit"  git remote add origin git@github.com:leftHandCat/webpackPractice.git  git push -u origin master

注:此处若push时有报错,需从新定义origin后push:

$ git remote rm origin
$ git push origin master

注:不能上传空文件夹,GitHub 不托管空文件夹,必须有子文件

五、 从GitHub 克隆项目到本地

$ git clone "clone地址"
  1. https
  2. SSH
    这里写图片描述

六、 fork 其他GitHub的源代码

操作:
这里写图片描述

注意: fork 其他库的代码,clone 到本地,若要修改也需要 push 到自己的 GitHub 上,再 pull request 给之前 fork 的原地址,若别人接受了这个 pull , 则会在他的 GitHub 中同步更新。

七、 Git 建立分支管理:

分支策略

向 GitHub 提交 git push origin master

分支策略:

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样
这里写图片描述

一般的操作流程:

流程 操作命令 注释 1 $ git checkout -b dev 创建分支 dev 2 $ git add gootle.txt 修改gootle.txt 内容,添加至暂存区 3 $ git commit -m “注释add new contents” 确认添加到版本库 4 $ git checkout master 回到主分支master 5 $ git merge –no–ff -m “注释combine codes” dev 合并dev与master代码 6 $ git log –graph –pretty=oneLine –abbrev-commit 查看合并情况 7 $ git push origin master 推送至 github

其他命令:

操作命令 注释 $ git branch 查看分支 $ git pull 更新版本库最新的代码 $ git branch -d dev 删除 dev 分支

八、 Git 实现版本管理

  1. 给 HEAD CommitId 打上标签名
操作命令 注释 $ git tag 查看所有标签 $ git tag v1.0 给当前 HEAD 打标签为 v1.0 版本 $ git tag v2.0 8f6a807 给 HEAD id 为 8f6a807 打上标签为 v2.0版本 $ git tag -a v3.0 -m “给8f6a807标为 v3.0版” 8f6a807 给8f6a807标为 v3.0版,该方法可以增加注释 $ git push origin v1.0 将版本 v1.0 推送至 GitHub $ git push origin –tags 一次性将所有的版本推送至 it Hub $ git tag -d v1.0 若没有提交可以在本地生效,若已提交,需要删除本地,再推送删除的 tag $ git push origin :refs/tags/v1.0 再推送删除的 tag, gitHub 同步删除

这里写图片描述

九、 GitHub 仓库 setting(可重命名,可删除等)

这里写图片描述

End

0 0