1.Github
在版本控制系统中,大约90%的操作都是在本地仓库中进行的:暂存,提交,查看状态或者历史记录等等。除此之外,如果仅仅只有你一个人在这个项目里工作,你永远没有机会需要设置一个远程仓库。
只有当你需要和你的开发团队共享数据时,设置一个远程仓库才有意义。你可以把它想象成一个 “文件管理服务器”,利用这个服务器可以与开发团队的其他成员进行数据交换。
1-1.注册
- 访问github首页,点击Sign up for GitHub登录/注册
- 填写用户名,邮箱,登录密码
- 选择计划
- 填写GitHub问题
- 验证邮箱进入个人中心
1-2.创建仓库
- 填写仓库基本信息
- 将本地仓库推送到远程仓库
git push 链接
git remote add origin 链接
// git 添加远程仓库origin (origin是仓库别名)
git push origin master
git push -u origin master
-u 记住推送地址及分支,下次推送只需要输入git push即可
注: 首先本地已经进行git初始化等操作之后再进行推送命令
git push -u -f origin master(提交到远程仓库,这个命令中的 -f 是强制推送,因为远程仓库只有初始化的文件,所以强制推送上去就行了)在这里插入代码片
git pull origin master --allow-unrelated-histories
1-3 拉取操作
1-3-1.克隆仓库
克隆远端数据仓库到本地:git clone 仓库地址
1-3-2.拉取远程仓库中最新的版本
拉取远程仓库中最新的版本:git pull 远程仓库地址 分支名称
2. 多人协作开发流程
- A在自己的计算机中创建本地仓库
- A在github中创建远程仓库
- A将本地仓库推送到远程仓库
- B克隆远程仓库到本地进行开发
- B将本地仓库中开发的内容推送到远程仓库
- A将远程仓库中的最新内容拉去到本地
2-1 创建仓库
- 填写仓库基本信息
- 将本地仓库推送到远程仓库
git pull 地址
拉取git push 地址
推送
(注:如果远程仓库有内容要先拉取)
git remote add origin 地址
添加远程仓库origin (origin是仓库别名)
git push origin master
git push -u origin master
-u 记住推送地址及分支,下次推送只需要输入git push即可
2-3 拉取操作
2-3-1 克隆仓库
克隆远端数据仓库到本地:git clone 仓库地址
2-3-2 拉取远程仓库中最新的版本
拉取远程仓库中最新的版本:git pull 远程仓库地址 分支名称
2-3-3 如何邀请别人成为当前项目的开发者
邀请别人成为当前项目的开发者,别人就可以向公共仓库推送代码。
进入github仓库---> settings---->Manage access----->第一次添加会弹出密码输入框------>Invite a collaborator (输入你邀请的B程序员github账号)----> 发送邀请------>B程序员登陆邮箱接受邀请------B程序员可以向仓库推送代码
(注:如果两人修改了同一文件同一地方会发生冲突需要人为解决)
3-1 解决冲突
在多人同时开发一个项目时,如果两个人修改了同一个文件的同一个地方,就会发生冲突。冲突需要人为解决。
3-2 跨团队协作
即使你不是团队成员,也可以向别人的仓库贡献代码。
程序员 C fork仓库
程序员 C 将仓库克隆在本地进行修改
程序员 C 将仓库推送到远程 (git push 远程仓库地址 master)
程序员 C 发起pull reqest
点击pull requests—>点击 new pull request-–>create pull request-—>输入推送描述信息–>create pull request
原仓库作者审核 (与提交者对话)
原仓库作者合并代码 (merge pull request)
3-3 ssh免登陆
https协议仓库地址格式:https://github.com/itcast-frontEnd/git-demo.git
每次用https协议的地址进行git push git pull操作时都需要输入github账号密码进行身份验证。所有我们有了ssh协议,可以免登陆操作。
生成秘钥:ssh-keygen
秘钥存储目录:C:\Users\用户.ssh
公钥名称:id_rsa.pub (放到github服务器中)
私钥名称:id_rsa (放在自己电脑上)
添加远程仓库,起别名:origin_ssh
git remote add origin_ssh git@github.com:teach-tian/ccc.git
向远程仓库origin_ssh
推送,无需密码。
git push origin_ssh master