GitHub官网地址:​​https://github.com​

(1) 创建同名本地库和远程库

或者可以参考第(6)部分,直接使用clone命令。

Git 初始化本地库命令:

// 在本地同名文件夹下使用如下命令
git init

Git - 与GitHub整合使用_github


(2) 复制GitHub上远程仓库地址

这里如:​​https://github.com/jianggc/git-github.git​

(3)在本地创建远程库地址别名

  • 添加命令如下
git remote add origin https://github.com/jianggc/git-github.git
  • 查看命令如下
git remote -v

Git - 与GitHub整合使用_github_02


  • 其他命令如下
$ git remote [选项]
add prune rename set-head show
get-url remove set-branches set-url update

(4)从远程仓库拉取

假如在GitHub上创建远程仓库的时候,​​初始化了README.md​​。那么在推送前首席要拉取到本地:

git pull --rebase origin master #拉取README.md

git pull origin master # 拉取基本命令

(5)将本地推送到远程库

git push origin master

# 保证本地有新文件哦

需要登录账号:

Git - 与GitHub整合使用_远程库_03

​如果远程仓库有README.md​​,需要先拉取下来:

Git - 与GitHub整合使用_github_04
推送结果:
Git - 与GitHub整合使用_远程库_05


(6)从远程库克隆到本地

  • 命令
git clone[远程地址]

#git clone https://github.com/jianggc/git-github.git
  • 效果
  • 完整的把远程库下载到本地;
  • 创建origin 远程地址别名;
  • 初始化本地库。

Git - 与GitHub整合使用_git_06
Git - 与GitHub整合使用_git_07


(7)邀请成员加入

Git - 与GitHub整合使用_远程库_08

邀请后,对方将会收到邮件:

Git - 与GitHub整合使用_远程库_09

Git - 与GitHub整合使用_git_10

成员加入后,就有读写的权限。


(8)详解拉取

核心思想:pull=fetch+merge

git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]

Git - 与GitHub整合使用_github_11
Git - 与GitHub整合使用_github_12


(9)解决冲突

注意事项 :

  • 如果不是基于GitHub 远程库的最新版所做的修改,不能推送,必须先拉
    取。
  • 拉取下来后如果进入冲突状态,则按照“分支冲突解决”操作解决即可。

(10)跨团队协作

第一步:登录账号janehl,访问https://github.com/jianggc/git-github/,然后进行fork到janehl自己的远程仓库,如下:

Git - 与GitHub整合使用_远程库_13


第二步:janehl克隆到本地,修改然后推送到自己的远程。

Git - 与GitHub整合使用_远程库_14
Git - 与GitHub整合使用_github_15


第三步 :janehl–Pull Request

Git - 与GitHub整合使用_github_16
Git - 与GitHub整合使用_github_17


第四步:切回jianggc账号,点击pull requests.

Git - 与GitHub整合使用_远程库_18
Git - 与GitHub整合使用_github_19
Git - 与GitHub整合使用_远程库_20

如果janehl被邀请进团队成员,则可以进行merge,如下图:
Git - 与GitHub整合使用_github_21

如果janehl只是外部人员,进行跨团队合作,则如下图:
Git - 与GitHub整合使用_远程库_22


jianggc可以查看外部人员janehl的提交和改变详情:

Git - 与GitHub整合使用_github_23


jianggc合并代码:

Git - 与GitHub整合使用_远程库_24
Git - 与GitHub整合使用_git_25
Git - 与GitHub整合使用_远程库_26


最后再将远程库中的修改拉取到本地:

Git - 与GitHub整合使用_git_27


(11)SSH 免密登录

进入当前用户的家目录

$ cd ~

删除.ssh 目录

$ rm -rvf .ssh

运行命令生成.ssh 密钥目录

$ ssh-keygen -t rsa -C atguigu2018ybuq@aliyun.com

注意:这里-C 这个参数是大写的C
Git - 与GitHub整合使用_远程库_28
进入.ssh 目录查看文件列表

$ cd .ssh
$ ls -lF

Git - 与GitHub整合使用_远程库_29
查看id_rsa.pub 文件内容

$ cat id_rsa.pub

复制id_rsa.pub 文件内容,登录GitHub,点击用户头像→Settings→SSH and GPG
keys-New SSH Key-输入复制的密钥信息。
Git - 与GitHub整合使用_git_30
Git - 与GitHub整合使用_远程库_31

回到Git bash 创建远程地址别名

git remote add origin_ssh git@github.com:jianggc/git-github.git

推送文件进行测试 :

Git - 与GitHub整合使用_远程库_32