美文网首页
git与github,第一次接触

git与github,第一次接触

作者: hxc92 | 来源:发表于2017-10-28 00:00 被阅读0次

    git与github,第一次接触

    加入了lzj老师的python之禅知识星球,和大家一起学习python。

    lzj老师的第0项任务就是学习使用git和github,这两个搞的我挺迷糊的,因此在完成任务后,来总结一下自己的理解。

    关于git的安装以及github的注册,自己度娘。


    git的大致架构

    首先应该要大体介绍一些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

    相关文章

      网友评论

          本文标题:git与github,第一次接触

          本文链接:https://www.haomeiwen.com/subject/sqkjpxtx.html