GitHub 服务器
公司中,我们可以搭建中央服务器让项目组开发人员共享代码,但是如果我们的开发人员都是通过互联网进行协作,而不是在同一个地方,那么开发时,程序文件代码的版本管理就显得更加重要,这就需要搭建一个互联网的版本库,让不同地点的人都可以进行访问。这里我们不用自己搭建。因为GitHub网站已经帮助我们提供了共享版本库功能。
1. 创建远程新的仓库
- 这几个地方都可以创建仓库
- 创建仓库
2. 本地仓库的基本操作指令
# create a new repository on the command line
echo "# git-study" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:Aitiger-coffee/git-study.git
git push -u origin main
# push an existing repository from the command line
git remote add origin git@github.com:Aitiger-coffee/git-study.git
git branch -M main
git push -u origin main
3. 创建本地仓库
- 在本地选定的文件夹当中初始化仓库
# 初始化本地仓库
git init
# 设置远程仓库
git remote add origin git@github.com:XK-coding/github-test.git
4. 配置姓名和邮箱
git config --global user.name Muko
git config --global user.email txk0x7d2@163.com
- 查看配置信息
git config -l
5. SSH免密操作
- github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。
- ssh模式比https模式的一个重要好处就是,每次push、pull、fetch等操作时,不用重复填写遍用户名密码。前提是你必须是这个项目的拥有者或者合作者,且配好了ssh key。
本地生成SSH密钥
# ssh-keygen -t rsa -C GitHub账号
ssh-keygen -t rsa -C txk0x7d2@163.com
# 按照提示三次回车即可
- 在用户根目录的.ssh文件夹内,id_rsa.pub就是我们要的公钥
- 将文件中的内容复制到服务器端的.ssh/authorized_keys文件中
6. 远程访问Git版本库
6.1 将远程仓库克隆到本地
# 将远程仓库克隆到本地,形成本地仓库
# 克隆远程仓库 => 用户@主机名:仓库地址
git clone git@github.com:XK-coding/github-test.git
git clone git@github.com:XK-coding/github-test.git
- 把远程仓库克隆到了本地
6.2 提交文件到本地仓库
# 增加文件
git add client.txt
# 提交文件
git commit -m 'client'
6.3 将远程仓库同步到本地仓库
# 同步本地仓库
# 将远程仓库拉取到本地仓库
git pull origin main
# 这里的main是分支名
6.4 将本地仓库同步到远程仓库
# 同步远程仓库
# 远程仓库默认有个别名叫origin,将本地仓库的文件推送(push)到远程仓库
# git push 远程仓库别名 分支名称
git push origin main
# 这里github的默认分支叫main,注意变通
- 原本的
- push后的
7. 查看Git日志
git log
8. 增加合作伙伴
- 选择合作账号,发出合作申请
- 合作伙伴收到确认后,点击Join按钮继续
- 点击Accept Invitation按钮,进行确认
此时已经可以合作开发了。
9. 远程仓库fork操作
如果项目存在大量合作伙伴,对于版本库的管理明显是一个特别大的风险,所以如果不想要选择大量的合作伙伴,但依然有人想要对项目代码进行维护,更新和扩展的话,此时,我们就可以使用fork功能。
-
点击Create fork按钮即可
这样就等同于创建了一个自己的远程仓库。但是这个远程仓库等同于是一个分支远程仓库,你可以随便操作,并不会影响源仓库,但是如果你的修改,更新想要融合到源仓库中,就需要提交申请了。 -
我们这里首先将文件改一下。
-
发送提交申请
-号代表原来的,+号是新增改变的