zoukankan      html  css  js  c++  java
  • GItHub操作

    一。概念

    博文学习地址:https://blog.csdn.net/qq_36667170/article/details/79085301

    Github服务器上有一个主仓库,可以用来存储我们自己的代码,免费的是所有人都可以看到我们的代码。我们创建了主仓库后,就可以在我们的电脑上创建分支,之后你就可以在电脑上完成自己的代码,写完之后直接同步在电脑的分支,当你认为可以上传的自己的主仓库时,就可以申请更新,当通过审核的时候,你代码就出现在了自己的主仓库中,这样全世界的程序员都可以查看你的代码。

    二。创建自己的仓库

    https://github.com/点击链接进入github的官网,如果看英文有障碍,可以翻译成中文,首先注册一个账号,注册的过程就不多说了,直接但以往的习惯进行就OK.在登陆自己的GitHub账号之后,在网页右上角的小加号是用来创建自己的库的按钮,之后的步骤将网页翻译成中文之后,按提示进行创建自己的库即可。

    三。下载一个与自己电脑操作系统匹配的Git Bash.安装是默认安装即可。

    安装之后会显示三个东西

    - Git CMD: 
      Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。所以建议在使用的时候,用Bash更加方便(原网址)。 
    - Git GUI: 
      其次就是Git GUI,Git GUI是Git Bash的替代品,他为Windows用户提供了更简便易懂的图形界面。(但是相比GitHub Desktop这个桌面版客户端) 
    - Git Bash: 
      最后是Git Bash,Git Bash是命令行操作。

    四。基本操作

    1.登录

    $ git config --global user.email "1580542048@qq.com"

    $ git config --global user.name "Q_si_bian"

    注意当你下github上修改了你的用户名时会遇到一些小问题

    2.本地文件的基本操作

    使用cd命令进入到目录中时,在Git-Bash中应该使用斜线”/”, 而不是反斜线””

     新建文件夹:    mkdir 文件名

    删除文件:rm 文件名.文件类型

    3.创建本地仓库

    现在我只需要在Git Bash里先进入这个文件夹(想要成为本季仓库的文件),确定已经进入了,我要把它变成本地仓库,需要输入以下命令行

    $ git init

    然后他就会告诉你建立成功了,这时候你的本地文件夹就出现了一个隐藏的.git文件夹 (。-`ω´-)千万不要乱删,你如果看他烦你就设置一下不现实隐藏文件就OK。

    可以在里面创建文件了:local.txt

    添加记录:git add local.txt

    你也可能添加了很多文件:

    git add -A 提交所有变化 
    git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) 
    git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

    提交记录:$ git commit -m “修改注释”

    怎样看你修改了什么呢? 
    这时候就要输入                     $ git diff 文件名+类型         或 $cat 文件名

    4.本地仓库与远程仓库的操作

    当然使用过桌面版的应该知道,commit之后还有一个手动同步的步骤,在Git Bash中也是这样的。 

    在推到远程仓库之前需要配置SSH。参考:https://blog.csdn.net/qq_36667170/article/details/79094257

    我们刚才在步骤3中已经建立了本地仓库,那么现在只要在远程建一个仓库然后把他俩连接起来就OK。

    首先你要进入网页版github新建一个仓库。

    参考:https://blog.csdn.net/qq_36667170/article/details/79079750

    以下为简略步骤

     

    新建远程仓库名为:Lolita

    把上边绿框框切换到SSH,然后复制下边随便哪个框框的内容。在电脑上进入你建好本地仓库的文件夹右键点击Git Bash Here或者直接在Git Bash中输入命令行进入文件夹。 
    然后在Git Bash中输入

    $ git remote add origin +你复制的内容

    比如我输入$ git remote add origin git@github.com:Lolita-Sian/Lolita.git

    然后他不会有任何提示,但是如果你不确定操作成功没有,你可以再输一遍,这时候他会提示你刚才已经设置过了。

    或者说你输入git remote -v验证一下会出现你添加成功的远程仓库。

    $ git remote -v

    在这里说一下git remote add origin +你复制的内容,其实就是给本地仓库添加一个远程仓库,你复制的内容就是远程仓库地址,origin就是远程仓库的代称,你也可以取一个别的代称给他。

    如果你以后不想连接这个远程仓库了,只需要输入git remote remove +代称即可。比如我刚才添加的远程仓库代称是origin,那我就要写:

    git remote remove origin

    然后在Git Bash中输入如下命令进行内容同步

    $ git push -u 代称 master 
    如果刚才是git add remote origin +复制内容,就要写git push -u origin master 
    如果刚才是git add remote AAA +复制内容,就要写git push -u AAA master

     这时候你就可以把你本地仓库的东西推到远程仓库了,并且你commit的信息也会同步过去。由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,只输入(如下)就OK。

    $ git push origin master

    可以去网页端查看

    还可以查看当前版本信息(也就是最近一个commit)

    $ git log

    也可以显示某个文件的版本历史,包括文件改名

    $ git log –follow 文件名.文件类型

    $ git whatchanged 文件名.文件类型

    显示所有提交过的用户,按提交次数排序

    $ git shortlog -sn

    显示指定文件是什么人在什么时间修改过

    $ git blame 文件名.文件类型

    5.如何克隆一个远程仓库

    现在我有一个叫000的远程仓库,并且里边有一个叫readme的文件。点击绿色按钮之后会弹出来。可以复制这一段(git@github.com:Lolita-Sian/000.git)。切换成HTTPS再复制也没影响。 

    然后在本地建好一个用于作为克隆的本地仓库的文件夹,在文件夹内右键-Git Bash Here。或者直接在Git Bash中进入。然后在Git Bash中输入

    $ git clone 加上你刚才复制的那一块

    例如我要输入$ git clone git@github.com:Lolita-Sian/000.git

    然后你打开你刚才选的本地文件夹,远程仓库的东西都在本地了

    6.远程仓库改变后如何更新本地仓库

      这一步很重要了,在团队合作中,你的队友修改了远程仓库之后,你如何确保自己的文件跟远程仓库一致呢,这就需要以下步骤了。 
      在你刚才init或者Clone的过程中,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动连接到远程的origin/master分支。 
      那么建立远程关系之后,如果你要取回远程文件,你只需要输入“ $ git pull origin”。

    $ git pull origin

    比如我现在跑到我的远程仓库修改了我的日记。我给日记加了一行测试。然后进行了pull。 

    这时候我打开我的本地日记,就发现加上来了。 

     另外补充一下。

    $ git status

      刚才提到了这个。status有什么作用呢。 
    - 上图中在fetch-merge中,可以提示你本地和远程的数据差异。如果你没有merge,status就会提示。 
    - 而在add-commit-push过程中,看下图。如果我修改了文件,没有add,status提示是红色的,add之后提示是绿色的,commit之后,工作树就是空的了。 

  • 相关阅读:
    Mybatis中Log4j日志的使用
    Mybatis结果集ResultMap映射
    Mybatis中的基本对象的生命周期和作用域
    IAR瑞萨单片机开发加入printf调试函数
    【转】C语言mem.h中的函数介绍
    【转】c语言位域操作—_结构体内冒号:的使用
    串口数据传输当中的共用体和结构体转换
    【转】printf格式串中的%f的输出格式和内容
    【转】缓冲区设计--环形队列(C++)
    【转】环形队列理论(C语言)
  • 原文地址:https://www.cnblogs.com/qingsheng/p/9498139.html
Copyright © 2011-2022 走看看