• Git学习笔记4


    GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库,提供公有仓库和私有仓库,但私有仓库是需要付费的。

    到Github上找类似的项目软件。

    GitLab可以创建免费的私有仓库。

    GitLab是利用 Ruby开发的一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理Bug缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

    github的官网地址:github.com

    Github上创建项目、仓库:

    .git 就是git init产生的,就是版本库。

    之前上传方法是:

    有一个tokens的问题。

    该README上传成功。

    克隆项目到本地Linux,默认克隆到当前目录。

    1. [root@git-server ~]# cd Shell-100-Days/
    2. [root@git-server Shell-100-Days]# ll
    3. total 4
    4. -rw-r--r-- 1 root root 5 Sep 19 20:03 README.md
    5. [root@git-server Shell-100-Days]# cat README.md
    6. haha

     因为这个项目是Public,是公共开放的。所以下载的时候不需要账号密码。

    git是一个分布式版本控制系统。大家都可以来下载代码。修改好,上传上来,确认是需要合并的。

    模拟一个作者和一个用户:

    该用户下载了Shell-100-days的这个项目:

    在这个项目中增加了1.py文件: 

     然后用户还需要使用git push -u origin master的上传操作。

    那这个还需要创建账号密码。

    在上传的时候,一段时间会出现这个Connection refused的问题。

    git pull和git clone的区别

    git clone

    是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地(即将远程库整个下载到本地),是一个本地从无到有的过程。

    git pull

    在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。

    git pull的时候,需要进入到版本库目录中,然后执行git pull的操作。

    补充:

    使用下面的命令可以实现https的密码缓存(下次不用再输密码了)

    git config --global credential.helper store

    Author又进行了更新:

    1. [root@git-server test]# echo 2222 >> 2.py
    2. [root@git-server test]# ll
    3. total 12
    4. -rw-r--r-- 1 root root 5 Sep 19 20:43 1.py
    5. -rw-r--r-- 1 root root 5 Sep 19 20:43 2.py
    6. -rw-r--r-- 1 root root 5 Sep 19 13:26 README.md
    7. [root@git-server test]#
    8. [root@git-server test]# git add *
    9. [root@git-server test]#
    10. [root@git-server test]# git commit -m "Added 2.py"
    11. [master 3af54d0] Added 2.py
    12. 1 file changed, 1 insertion(+)
    13. create mode 100644 2.py
    14. [root@git-server test]#
    15. [root@git-server test]# git push -u origin master
    16. Counting objects: 4, done.
    17. Delta compression using up to 2 threads.
    18. Compressing objects: 100% (2/2), done.
    19. Writing objects: 100% (3/3), 300 bytes | 0 bytes/s, done.
    20. Total 3 (delta 0), reused 0 (delta 0)
    21. remote: To https://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@github.com/changchunhua2017/Shell-100-Days.git
    22. e8333b1..3af54d0 master -> master
    23. Branch master set up to track remote branch master from origin.

     开启了账号密码缓存,那么这次就没有要求输入账号密码。

    然后用户再在Shell-100-days中进行git pull命令的操作。

  • 相关阅读:
    使用python将多个PDF文件合并成一个
    MySQL TIMESTAMPDIFF函数的使用场景
    在c#中如何将多个点位(Point)转换为多边形(Polygon)并装换为shp图层
    运动控制器PSO位置同步输出(三):高精度等间距二维三维PSO输出
    自动生成bug异常追踪-SRE与开发自动化协同
    在云服务器上安装VNC远程桌面服务
    电商技术揭秘三十一:智能风控与反欺诈技术
    自动化机械臂喷涂生产线方案五
    95后们,为什么你借不到钱了?
    移动零00
  • 原文地址:https://blog.csdn.net/chang_chunhua/article/details/133023178