GitHub基本使用介绍

之前公司项目一直在使用SVN作为项目代码版本控制,最近我想整理下项目中iOS端CC视频SDK封装,CC移动端SDK本身只提供视频播放信息以及播放器初始化,因此需要自定义播放器的控制逻辑。当整理好了代码准备分享时,发现还是Git才是版本控制的王道。

首先,要使用Git需要在GitHub上注册一个自己的账号

初始账号默认只能免费创建公共仓库,首先Create a New Repository

创建仓库

第二部,下载安装GitHub客户端 Mac版GitHub Windows版GitHub Linux版GitHub 桌面版GitHub

配置Git

以下为在Mac环境上配置Git。

想要通过本地上传代码至GitHub中,必须得有一份ssh key用于验证身份。

创建ssh key:

$ ssh-keygen -t rsa -C "example@youremail.com"

example@youremail.com修改为GitHub上注册的邮箱,之后要求确认路径和密码,三次回车即可。

$ open ~/.ssh

创建ssh文件后,进入~/.ssh文件夹,会有id_rsa和id_rsa.pub两个文件。id_rsa为私钥,自己保存好;id_rsa.pub为公钥,用于提供给他人使用。 打开id_rsa.pub后复制全部内容,在GitHub中,创建SSH时,title可随意填写,key为id_rsa.pub内的复制内容。完成后,还需要输入:

$ ssl -T git@github.com

如果是第一次会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github 此时GitHub中的ssh key左侧的钥匙图标会变为绿色。

新增ssh密钥

此外,还需要配置GitHub全局的用户名与邮箱。

$ git config --global user.name "Your Name"
$ git config --global user.email "example@youremail.com"

在GitHub创建完项目时,GitHub会提示如何创建新仓库与push已存在的仓库。 因为是将已有的项目文件第一次上传,所以,首先进入项目路径下,并创建一个README.md文件

$ touch README.md
$ git init
$ git add *
$ git commit -m "此处可添加提交代码相关的注释"
$ git remote add origin https://github.com/yourUserName/repositoryName.git
$ git push -u origin master

上述命令中,分别作用为:

  • 在项目中创建README.md文件;
  • 初始化git仓库;
  • 向git添加所在目录下的所有文件;
  • 添加提交说明;
  • 添加一个新的仓库并连接到指定的远程服务器上,https://github.com/yourUserName/repositoryName.git就是在GitHub上创建仓库的URL;
  • 推送提交项目中的改动至远程服务器,master可以修改为想要推送的任意分支,此处master为默认分支。 此时,已经把项目上传到了GitHub指定的远程仓库中,目的完成。

工作流程 Git本地仓库实际上由三个tree组成,1.工作目录,持有实际文件 2. 暂存区,临时保存改动 3. HEAD,指向最后一次提交的结果

$ git add (文件名)

上述命令表示本地提出更改,添加至暂存区

$ git commit -m "代码注释信息"

上述命令表示改动已提交至HEAD,当改动在HEAD中时就可执行以下命令提交推送至远端仓库:

$ git push origin (指定分支名称)

克隆 创建本地仓库的克隆版本:

$ git clone /path/to/repository

创建远端服务器上的克隆版本:

$ git clone username@host:/path/to/repository

分支 创建仓库时,默认只有master分支,创建其它分支后可在分支上开发,完成后合并到主分支上。 创建名为“feature”并切换到该分支:

$ git checkout -b (分支名)

切换其它分支:

$ git checkout (分支名)

删除分支:

$ git branch -d (分支名)

更新 多人开发时,在push前一定要先更新本地仓库至最新改动,避免许多不必要的冲突:

$ git pull

合并,将指定分支合并到当前分支中:

$ git merge (指定要合并分支名)

在合并过程中,会出现Fast-forward词。出现此情况时,当前所在分支所指向的是要提交合并分支的直接上游,当试图合并两个分支时,若顺着一个分支能够到达另一分支,Git只会将指针向前推进,合并操作中没有解决的分歧。合并完成后,可以删除之前被合并的分支。 当合并遇到冲突时,查看因包含冲突而处于未合并状态的文件:

$ git status

当解决掉冲突之后,需要使用git add (指定文件)来将其标记为冲突已解决。 合并改动之前,可以用命令浏览版本差异:

$ git diff (原分支) (目标分支)

标签 将发布的版本进行标签标记:

$ git tag 1.1.1 xxxxxxxxxx

xxxxxxxxxx是要标记的提交ID,可使用以下命令获取:

$ git log

撤销本地改动

$ git checkout --(filename)

会将HEAD中的最新内容替换掉当前工作目录中的内容,已添加到暂存区的改动以及新文件不受影响 若想放弃所有改动和提交,可将远端仓库中的版本获取至本地,并将主分支指向它:

$ git fetch origin
$ git reset --hard origin/master

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券