• Git与GitHub


     一、GitHub


    1、GitHub注册地址:https://github.com

      注册第一步完成就会发送邮件验证

    2、进入邮件点击验证,就会跳转GitHub创建仓库:

       

    也可以在GitHub右上角创建仓库

    进入首页

     

    二、Git


     

    GitHub注册并创建好仓库,需要Git来远程操作

    Git下载地址:https://git-scm.com/downloads,点击windows会自动下载对应的版本。

    官网下载很慢的话,可以到软件管家里下载很快

      

    安装git

    1、双击安装程序

    2、点击next

     

    3、选择安装路径,点击next

      

    一路next

      

      

      

      

    新增功能不稳定,点击安装

      

    安装完成:

     Git使用

    Git工作示意图:

    1、电脑中新建一个GitHub目录,在目录中右击Git Bash Here

    2、在Git Bash中输入命令git version,看到版本信息说明安装成功

     

    3、git  --help 查看帮助

     

    4、git init  初始化当前文件夹为版本管理仓库,并且在当前文件夹下创建一个.git隐藏文件、里面为版本管理文件

      

    5、vim  test.py  创建一个test.py文件

      

    6、提交文件到版本库需要2步

    git add  xx    从工作区增加xx文件到暂存区。   git  add*  增加所有文件到暂存区

    git commit  -m  '注释'     从暂存区提交到版本库(一定要注释,SVN可以没有)

     

    提示没有配置用户信息

     7、配置用户信息

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    配置git用户名与GitHub账户可以不一致,如果一致的话可以在GitHub仓库中直接点击账户可以链接进入GitHub账户首页

    不一致时就不能点击账户。

     

    8、git status 查看状态后提示未提交

     git commit  -m  '注释'   提交至版本库

     修改文件撤回的几种情况

    1、在工作区修改test.py 文件后突然想撤销

    根据提示命令git restore xx文件

     

    2、提交到暂存区突然想撤回修改

    先从暂存区打回到工作区,在工作区撤销

    查看状态时:红色的代表文件在工作区(不具备版本管理,工作区修改的文件未git add,状态为红色),

          绿色的代表文件在暂存区(暂存区具备版本管理,git add 后的文件就被跟踪了。)

          版本库具备永久记录历史版本功能

       

    3、提交到版本库了,不能回到工作区撤销,可以回到某个版本

    git log 查看版本记录

    git reset --hard 117d5c  回到某个版本号

     git reset --hard HEAD^^^  回到上上上个版本号

    git reflog   版本号没了,可以通过操作的版本信息记录来找到

       

     配置秘钥与GitHub远程空仓库连接,并推送文件

    1、执行命令   ssh-keygen -t rsa -C “you@example.com”,按三次回车

     2、进入/c/Users/Lenovo/.ssh/id_rsa.pub复制公钥

       

    3、配置秘钥:

    GitHub→Setting→SSH and GPG Keys →new SSH Key →Title任意取

     

     4、验证秘钥配置成功:

    ssh -T git@github.com

     

    5、推送到GitHub远程创建好的空仓库

    首次要先建立ssh桥梁,地址到GitHub上复制(不是克隆的本地版本库与远程仓库名称也不一致需要增加连接名称,以方便后面使用)

    git remote add orgin git@github.com:xx用户/helloworld.git

    git remote 查看连接名称

    git remote -v 查看连接远程服务器详细地址

    git push orgin master  推送到远程仓库主支(克隆的版本库直接使用git push命令)

     

    GitHub上看到代码推送上去了

     如果GitHub创建仓库时添加了README,就会推送不成功,需要先pull到本地工作区,再push(保存文件同步一致)

    git pull orgin master  

     

    克隆远程GitHub仓库到本地

    ——建议刚开始就先把远程GitHub仓库克隆到本地,保持本地目录名与远程仓库名一致。这种操作方式比先建本地版本库,

    再连接远程地址要好用。比如推送时直接git push,不需加origin master;而且本地修改后可直接push,不要先pull

    1、git clone xx地址到GitHub上复制

    并且在本地hellowrld文件夹里面有个.git版本控制隐藏文件

    添加1.txt文件并推送远程仓库

     

    2、添加2.txt文件推送到远程仓库,再删除远程仓库2.txt

     

    3、git rm 2.txt 删除直接到暂存区,并推送成功

     

    4、万一不想删除2.txt,想通过版本回退方式撤销已经push到远程仓库的操作。需要加一个参数--force

      先在本地执行版本回退:git log  查看版本记录

                 git reset --hard 5cf337   回到上个版本

    黄色部分提示本地版本落后远程仓库版本

    强制覆盖远程仓库的版本信息,使远程仓库也回到响应的版本:git push --force 

    本地查看git log也没有此版本后的版本信息了。

       

    添加忽略文件不上传到远程仓库

     1、在文件夹中直接添加a.png   dd/dd1.txt   tt/tt1.txt

     

     2、通过git bash 添加.gitignore 文件,并将a.png 和dd/dd1.txt 添加到.gitignore中。查看状态就不会显示隐藏文件a.png  和dd/dd1.txt 

          

    3、git add .  命令将所有文件添加到暂存区(包括隐藏文件.gitignore,git add *不能),git push成功,隐藏的文件并没有上传

       

    张三、李四同时 修改文件提交引起冲突,使用merge tools工具合并

    1、李四克隆

    2、张三克隆

    3、李四修改1.txt,增加lisi,并git  push成功

        

    3、张三修改1.txt,增加zhangsan,并git  push,出现报错

       

    4、黄色中提示git pull下来,git pull下来提示Automatic merge failed自动合并失败,需手动去合并。

    5、进入张三本地查看1.txt,发现文本变化

    6、这时可以可以手动修改,也可以通过mergetool合并工具来修改(只能对纯文本)

    命令行输入git mergetool

     

    wq保存4次退出,在本地文件夹中多出一个1.txt.orig备份文件、备份修改之前的内容,可以删了也可以添加到.gitignore 中,然后git bash命令行中重新提交并推送

        

     

     

    更详细git使用:https://www.cnblogs.com/smuxiaolei/p/7484678.html#top

  • 相关阅读:
    SDUT OJ 河床
    BZOJ 1500: [NOI2005]维修数列( splay )
    BZOJ 2049: [Sdoi2008]Cave 洞穴勘测( LCT )
    BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )
    BZOJ 1552: [Cerc2007]robotic sort( splay )
    BZOJ 1251: 序列终结者( splay )
    BZOJ 1576: [Usaco2009 Jan]安全路经Travel( 树链剖分 )
    BZOJ 3408: [Usaco2009 Oct]Heat Wave 热浪( 最短路 )
    BZOJ 3403: [Usaco2009 Open]Cow Line 直线上的牛( deque )
    BZOJ 3407: [Usaco2009 Oct]Bessie's Weight Problem 贝茜的体重问题( dp )
  • 原文地址:https://www.cnblogs.com/charles2018/p/11385794.html
Copyright © 2020-2023  润新知