GItHub操作

Posted qingsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "[email protected]"

$ 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 [email protected]: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的文件。点击绿色按钮之后会弹出来。可以复制这一段([email protected]:Lolita-Sian/000.git)。切换成HTTPS再复制也没影响。 

技术分享图片

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

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

例如我要输入$ git clone [email protected]: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之后,工作树就是空的了。 
















以上是关于GItHub操作的主要内容,如果未能解决你的问题,请参考以下文章

Git 第六章 GitHub操作 -- GitHub操作(创建远程库远程仓库基本操作)

Github 操作无法从 Github 包存储库下载工件

如何获取主机存储库的 GitHub 机密作为 github 操作的输入?

图解GitHub基本操作

图解GitHub基本操作

github 操作