git与github,第一次接触
加入了lzj老师的python之禅知识星球,和大家一起学习python。
lzj老师的第0项任务就是学习使用git和github,这两个搞的我挺迷糊的,因此在完成任务后,来总结一下自己的理解。
关于git的安装以及github的注册,自己度娘。
git的大致架构
首先应该要大体介绍一些git的整个结构。
里面的工作流部分也就是git的大致原理。
使用git时将文件都存在于一个仓库(repository)内,内容改动后通过命令将其输入至缓存区(index)(它的具体实现我作为菜鸟也不明白,暂且理解为一个抽象的存储空间吧),再一个命令则是将改动保存到head,也就是最终的成果都是放在这里的。
基础命令
git init:用于初始化一个仓库,一个文件目录必须被初始为仓库才能进行后续操作,已经初始化的标志是目录中会有个.git文件夹,这个文件夹就别乱碰了。
git命令行中的黄色字体即当前打开的文件目录,就不附图说明了。
git add:在对仓库的内容改动后,需要使用该命令将其输入缓存区。
git commit -m “”:用于将缓存区的内容输出至head,相当于是最终结果。
关于文件目录,git在安装时有关于命令行指令的选择,默认的话应该和系统相同的,我的是windows,因此想要更改打开的目录可以使用cd命令,或者是在目标文件夹中右键git bash,这样打开git的文件夹就会是当前的文件夹。
添加远程仓库
将仓库与自己的github仓库链接,将后者作为远程仓库:
1.在github account setting中添加ssh key:关于ssh的添加,我只是照做,没有什么理解,大概类似什么许可证,请参阅[](http://www.runoob.com/w3cnote/git-guide.html)
2.git config --global user.name "":引号内为github的用户名
3.git config --global user.email "":引号内为github的邮箱以上两步中的global代表的是全局参数的设置,因此进行过一次即可,也可随时修改
4.git remote add origingit@github.com:<在github中的项目路径>:为自己的仓库添加用于fetch和push的源(也就是你从别人那fork来然后clone到自己本地的项目),这一步是上传自己修改中的push命令必须的,没有origin你要push到哪里去?
与他人合作完成项目
关于如何对他人的github项目进行修改并上传你的修改:
1.git clone [url]:将他们的项目完整克隆到本地,后续的修改和上传才能进行。(该步的前提是对方对你的权限允许)
1.1上一步骤失败。那就先到对方的项目页面,右上角将它fork到自己的github仓库(与git类似的),然后从自己的仓库clone,前提:将github仓库添加为远程仓库2.进行改动啦,添加删除之类的。
3.git add
4.git commit -m “”
5.git push -u origin:这里的branch即分支,是一个非常便利与修改的特性,目前我用的只是master,即主干。这里的origin的命名似乎可以更改,允许添加多个不重名的源。
6.回到github,向他人申请pull request,将你的改动上传至原始项目中。
便利的检查命令:
git status:可浏览当前仓库中还有多少为输入至缓存区的改动。
git remote -v:查看当前已添加的远程库,-v用于详细显示远程库地址;没有-v就只显示远程库的代号,比如origin。
git remote rm [origin]:要是远程仓库地址输入错了就用这个删除。
总结
自己在实际操作过程中有点取巧了,clone操作用的是github的桌面端实现的。
thx