一、背景
这周软件项目管理的作业是使用git,把以前的实验报告传上去。这两天大概弄清楚了git的基本使用,上传文件、和团队合作等(组织者与合作者)。遇到了很多错误,从一开始根本看不到是怎么运作的到现在可以把大概思路理清楚告诉小组成员怎么做,解决错误是重要的学习过程。
二、工具
1、git工具,去官网下载就好了,安装的时候一路enter~下载页面传送门
2、一个github账号
三、操作
输入用户名和邮箱
右击桌面打开git bash,首先输入你的用户名和邮箱
$ git config --global user.name "name"
$ git config --global user.email "email"
在本地创建一个仓库并添加文件
1.创建一个目录,我的目录命名为pm_504
$ mkdir pm_504
2.进入目录
$ cd pm_504
3、查看当前目录的路径
$ pwd
然后会显示你的目录的路径
4、通过git init命令把这个目录变成Git可以管理的仓库
$ git init
这样一个仓库就创建好了
接下来可以把文件添加进去
5、一定要把文件放到仓库的根目录,子目录也可以的
6、把文件添加到仓库,文件名记得加后缀
$ git add filename
这里如果需要添加多个文件可以多用几次git add
7、添加好之后要把文件提交到仓库
$ git commit -m "文件说明"
将ssh秘钥添加到github
git支持https和git两种传输协议,github分享链接时会有https和ssh秘钥两种协议可选,git使用https协议,每次pull, push都会提示要输入密码,使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦
1、生成秘钥对
SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。可以先去看一下有没有
$ cd .ssh
$ ll
total 9
-rw-r--r-- 1 mao 197121 1766 6月 9 00:06 id_rsa
-rw-r--r-- 1 mao 197121 401 6月 9 00:06 id_rsa.pub
-rw-r--r-- 1 mao 197121 1197 6月 8 23:00 known_hosts
有pub后缀的是公钥,文件名差不多但是没有pub的是秘钥
如果没有这些文件的话可以自己创建,
$ ssh-keygen -t rsa -C "你的邮箱"
然后会提示你输入密码,然后提示Your public key has been saved in /home/you/.ssh/id_rsa.pub.之类的,就是已经生成成功了。
2、将公钥添加到远程仓库
可以直接用命令将公钥复制到剪贴板clip < ~/.ssh/id_rsa.pub
也可以查看公钥cat ~/.ssh/id_rsa.pub
然后手动复制到剪切板
接下来登录你的git账户–>右上角settings–>左边栏SSH and GPG啥的 点进去点击new ssh key,然后有两个输入框,第一个小的是给ssh标记命名,起一个名自己以后认识就行了,在第二个大的里把刚刚复制的ssh公钥粘贴进去,然后保存就好了。
3、验证
用ssh连接git
ssh -v git@github.com
或者
ssh -T git@github.com
第一个是调试模式,第二个直接连接。
创建一个仓库并邀请伙伴加入
1、创建一个远程仓库
登录github账户,在左边有一个绿色的button,写着new repository,点击它然后输入你的仓库名、描述、和权限等,点击后面的create,这样就创建好啦。
2、邀请你的伙伴
在导航栏找到settings选择,然后在左边栏找到Collaborators,在下面的搜索框输入你的伙伴的用户名或者邮箱,按用户名,全名或电子邮件地址搜索
如果用户选择公开列出,则只能通过其电子邮件地址找到GitHub用户。否则,请改用他们的用户名。点击添加协作者按钮,之后会生成一个发送邀请的连接,复制此连接,发送给你的伙伴,让对方点击进去接受邀请就好了。
这里有一个更详细的使用git进行团队合作
添加远程库
如果这里要添加的是自己的远程库,要先把本地的ssh公钥添加到github,如果是加入伙伴的远程库,那伙伴在远程库里邀请成功就可以了。
1、在本地的仓库下运行命令
$ git remote add origin git@github.com:你的用户名/仓库名.git
如我的仓库,$ git remote add origin [email protected]:wdhhh/pm_504.git
请千万注意要写你自己的GitHub账户名,如果你直接用$ git remote add origin [email protected]:wdhhh/pm_504.git
,你在本地关联的就是我的远程库,你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
2、把本地内容推送到远程库
$ git push -u origin master
四、遇到的问题
过程中主要出现了两个错误,
1、在把ssh公钥添加到git账户的时候,我在验证的时候一直提示[email protected]: Permission denied (publickey).后来才知道是让我输入密码的时候我点了enter,enter默认no,所以是密码错了。。我也记录了一下的
2、第一次使用git push -u origin master
的时候可能会报错,要先
git pull --rebase origin master
,然后git push -u origin master
。
貌似仓库第一次使用的话需要这样,以后就不用了,其他成员第一次加入也不用的。记录
五、小结
1、登录
$ git config --global user.name "name"
$ git config --global user.email "email"
2、创建本地仓库
$ mkdir pm_504
$ cd pm_504
$ pwd
$ git init
3、把文件提交到本地仓库
$ git add filename
$ git commit -m "文件说明"
4、配置ssh公钥
复制公钥clip < ~/.ssh/id_rsa.pub
,然后登录github账户去添加。
5、添加远程仓库
$ git remote add origin git@github.com:你的用户名/仓库名.git
6、把本地内容推送上去
$ git push -u origin master
最后贴一下我参考的url
廖雪峰的官方网站
初次使用git配置以及git如何使用ssh密钥(将ssh密钥添加到github)
使用github进行团队合作