Github操作
今天介绍一下全球最大的技术网站Github,如果各位网络不好进不去就另寻他法,毕竟我只负责介绍😀,其它的就需要你们自己想办法喽😂。接下来将介绍一整套的Github操作流程,走起( ̄︶ ̄)↗
1. 创建远程仓库
创建之前需要注册,各位自行注册。注册登入之后,点击右上角图标的加号,点击New repository,然后再输出远程仓库的名字,一般来说该名字和本地库的名字最好一致,然后描述一下仓库,选择仓库是否公开,最后点击创建即可。创建完成的界面如下图所示:
创建完成里面介绍了访问该仓库的http和ssh协议的网址以及一些命令。
1.1 给远程仓库创建别名
因为创建的仓库链接都比较长,后期在用git操作时一般都记不住,为了后期使用git操作远程库更便利,这里对远程库进行别名创建。其基本语法为:
git remote -v //查看当前所有远程地址的别名
git remote add 别名 http网址 //创建远程地址的别名
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git remote -v
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git remote add gitspace https://github.com/tqpzj/gitspace.git
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git remote -v
gitspace https://github.com/tqpzj/gitspace.git (fetch)
gitspace https://github.com/tqpzj/gitspace.git (push)
此时远程库的别名就出现了,因为既可以推送又可以拉取,所以出现了两个别名。
2. 推送本地库到远程库
将会本地库推送到github远程库,所用到的指令为:
git push 别名 分支
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git push gitspace master
Enumerating objects: 25, done.
Counting objects: 100% (25/25), done.
Delta compression using up to 16 threads
Compressing objects: 100% (23/23), done.
Writing objects: 100% (25/25), 2.12 KiB | 2.12 MiB/s, done.
Total 25 (delta 6), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (6/6), done.
To https://github.com/tqpzj/gitspace.git
* [new branch] master -> master
因为网络原因可能一次push还不能成功,这里就静下心来多试几次,我这里执行了3次命令才推送成功了。接下来看github上的gitspace仓库有没有多出文件。
可以看到,本地库的两个文件都已经push到远程库了。
3. 拉取远程库到本地库
当远程库的代码更新了,而自己本地库的代码还是老版本。为了与其他人的开发进度保持一致,就需要将远程库的代码拉取到本地库了,其语法格式为:
git pull 别名 分支
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git pull gitspace master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 689 bytes | 229.00 KiB/s, done.
From https://github.com/tqpzj/gitspace
* branch master -> FETCH_HEAD
00745af..8e8f411 master -> gitspace/master
Updating 00745af..8e8f411
Fast-forward
hello.txt | 1 +
1 file changed, 1 insertion(+)
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git status
On branch master
nothing to commit, working tree clean
可以看到拉取过来之后,远程库相对于本地库的一些改变也能显示出来。同时,查看git的状态可以发现git自动将改变提交到暂存区和本地库了。至此,拉取远程库到本地库的操作结束。
4. 克隆远程库到本地库
作为一个新手,当你新进公司时,面对远程库里面的众多库或者分支,你可能只是需要查看一下代码,不需要涉及开发,因此只需要进行克隆操作即可。克隆的语法格式为:
git clone 远程库链接
Administrator@CQ360DN-2021ESZ MINGW64 /gitclone
$ git clone https://github.com/tqpzj/gitspace.git
Cloning into 'gitspace'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 28 (delta 7), reused 24 (delta 6), pack-reused 0
Receiving objects: 100% (28/28), done.
Resolving deltas: 100% (7/7), done.
可以看到克隆的远程仓库已经到新建文件夹下了。此时可以发现,不仅克隆了文件,就连" .git "文件夹也被克隆下来了,因此查看克隆仓库的别名,这不过名字默认为origin
Administrator@CQ360DN-2021ESZ MINGW64 /gitclone
$ cd ./gitspace
Administrator@CQ360DN-2021ESZ MINGW64 /gitclone/gitspace (master)
$ git remote -v
origin https://github.com/tqpzj/gitspace.git (fetch)
origin https://github.com/tqpzj/gitspace.git (push)
5. ssh免密登录
要实现ssh免密登录,首先需要创建ssh公钥,然后将ssh公钥添加到github当中。
5.1 ssh公钥创建方法
在C:\Users\Administrator目录下右键git bash,打开git bash界面,然后执行以下命令:
ssh-keygen -t rsa -C github登录邮箱
Administrator@CQ360DN-2021ESZ MINGW64 ~
$ ssh-keygen -t rsa -C 123456789@qq.com
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
Created directory '/c/Users/Administrator/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:9vJsmWnjl952nR1Pn+DdMgTZhEw0+LfH4gP2ID2nlKI 123456789@qq.com
The key's randomart image is:
+---[RSA 3072]----+
| =+. |
| . o.. |
| . + |
| + o |
| S . + o |
| . .o O.=.+|
| ...O.@o+X|
| E+B +oB+B|
| +++...= |
+----[SHA256]-----+
Administrator@CQ360DN-2021ESZ MINGW64 ~
此时,在C:\Users\Administrator目录下出现.ssh文件夹,其中.pub文件为公钥,此时复制公钥文件内的内容,在github的设置里面的SSH and GPG keys添加ssh keys即可。然后利用
git pull ssh协议网址 分支
进行拉取远程库:
Administrator@CQ360DN-2021ESZ MINGW64 /gitspace (master)
$ git pull git@github.com:tqpzj/gitspace.git master
The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
From github.com:tqpzj/gitspace
* branch master -> FETCH_HEAD
Already up to date.
至此,即实现了ssh免密登录。