Ubuntu下git的安装与使用  

Ubuntu下git的安装与使用
 

    • Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便。
    • 首先,确认你的系统是否已安装git,可以通过git指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git命令进行安装。
      Ubuntu下git的安装与使用
 

    • 安装完成后进行git配置,输入指令git config --global user.name "xxx"git config --global user.email "你的邮箱地址"
      Ubuntu下git的安装与使用
 

    • 配置完成后,需要创建验证用的公钥,因为git是通过ssh的方式访问资源库的,所以需要在本地创建验证用的文件。使用命令ssh-keygen -C 'you email address@gmail.com' -t rsa(注意ssh-keygen之间没有空格),会在用户目录~/.ssh/下建立相应的密钥文件。
      Ubuntu下git的安装与使用
 

    • 创建完公钥后,需要上传。使用命令cd ~/.ssh进入~/.ssh文件夹,输入gedit id_rsa.pub打开id_rsa.pub文件,复制其中所有内容。接着访问http://git.oschina.net/profile网页,点击SSH公钥,标题栏可以随意输入,公钥栏把你刚才复制的内容粘贴进去就OK了。
      Ubuntu下git的安装与使用
 
      Ubuntu下git的安装与使用
 

    • 可以使用ssh -T git@git.oschina.net命令来测试连接是否畅通。
      Ubuntu下git的安装与使用
 

    • 接下来的内容就和在Windows下使用git上传一样了,先自己创建一个文件夹,把敲的代码拷贝进去(或者每次使用vim的时候直接切到该文件夹目录下进行编辑),先使用git init指令初始化一个git仓库,接着输入git add .添加文件,输入git commit -m "注释"提交至仓库。
      Ubuntu下git的安装与使用
 

    • 输入git remote add origin https://git.oschina.net/你的用户名/项目名.gitgit push origin master即可完成推送
      Ubuntu下git的安装与使用
 

rico@rico-virtual-machine:~/桌面$ git --version

Command 'git' not found, but can be installed with:

sudo apt install git

rico@rico-virtual-machine:~/桌面$ git

Command 'git' not found, but can be installed with:

sudo apt install git

rico@rico-virtual-machine:~/桌面$ sudo apt-get install git
[sudo] rico 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  git-man liberror-perl
建议安装:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk
  gitweb git-cvs git-mediawiki git-svn
下列【新】软件包将被安装:
  git git-man liberror-perl
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 4,720 kB 的归档。
解压缩后会消耗 33.8 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 liberror-perl all 0.17025-1 [22.8 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 git-man all 1:2.17.0-1ubuntu1 [803 kB]
获取:3 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 git amd64 1:2.17.0-1ubuntu1 [3,894 kB]
已下载 4,720 kB,耗时 40秒 (117 kB/s)
正在选中未选择的软件包 liberror-perl。
(正在读取数据库 ... 系统当前共安装有 124885 个文件和目录。)
正准备解包 .../liberror-perl_0.17025-1_all.deb  ...
正在解包 liberror-perl (0.17025-1) ...
正在选中未选择的软件包 git-man。
正准备解包 .../git-man_1%3a2.17.0-1ubuntu1_all.deb  ...
正在解包 git-man (1:2.17.0-1ubuntu1) ...
正在选中未选择的软件包 git。
正准备解包 .../git_1%3a2.17.0-1ubuntu1_amd64.deb  ...
正在解包 git (1:2.17.0-1ubuntu1) ...
正在设置 git-man (1:2.17.0-1ubuntu1) ...
正在设置 liberror-perl (0.17025-1) ...
正在处理用于 man-db (2.8.3-2) 的触发器 ...
正在设置 git (1:2.17.0-1ubuntu1) ...
rico@rico-virtual-machine:~/桌面$ git
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

这些是各种场合常见的 Git 命令:

开始一个工作区(参见:git help tutorial)
   clone      克隆一个仓库到一个新目录
   init       创建一个空的 Git 仓库或重新初始化一个已存在的仓库

在当前变更上工作(参见:git help everyday)
   add        添加文件内容至索引
   mv         移动或重命名一个文件、目录或符号链接
   reset      重置当前 HEAD 到指定状态
   rm         从工作区和索引中删除文件

检查历史和状态(参见:git help revisions)
   bisect     通过二分查找定位引入 bug 的提交
   grep       输出和模式匹配的行
   log        显示提交日志
   show       显示各种类型的对象
   status     显示工作区状态

扩展、标记和调校您的历史记录
   branch     列出、创建或删除分支
   checkout   切换分支或恢复工作区文件
   commit     记录变更到仓库
   diff       显示提交之间、提交和工作区之间等的差异
   merge      合并两个或更多开发历史
   rebase     在另一个分支上重新应用提交
   tag        创建、列出、删除或校验一个 GPG 签名的标签对象

协同(参见:git help workflows)
   fetch      从另外一个仓库下载对象和引用
   pull       获取并整合另外的仓库或一个本地分支
   push       更新远程引用和相关的对象

命令 'git help -a' 和 'git help -g' 显示可用的子命令和一些概念帮助。
查看 'git help <命令>' 或 'git help <概念>' 以获取给定子命令或概念的
帮助。
rico@rico-virtual-machine:~/桌面$ git --version
> 
git version 2.17.0
rico@rico-virtual-machine:~/桌面$ git config --global user.name "username"
rico@rico-virtual-machine:~/桌面$ git config --global user.email "youname@foxmail.com"
rico@rico-virtual-machine:~/桌面$ ssh-keygen -C 'yourphone' -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rico/.ssh/id_rsa): 
Created directory '/home/rico/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/rico/.ssh/id_rsa.
Your public key has been saved in /home/rico/.ssh/id_rsa.pub.
The key fingerprint is:
dfsdfafagdfgrewadddddddddddddddsfadafdsafdsafdasfasdfsfdsdfa
The key's randomart image is:
+---[RSA 2048]----+
|     ..+ ++..oo++|
|      *.+ . ...+.|
|     ..+ o  ..+ +|
|       .+...+. + |
|        SE.=o..  |
|          +o=o+  |
|           =+B.o |
|            *+ ..|
|            .oo. |
+----[SHA256]-----+
rico@rico-virtual-machine:~/桌面$ cd ~/.ssh
rico@rico-virtual-machine:~/.ssh$ ls
id_rsa  id_rsa.pub
rico@rico-virtual-machine:~/.ssh$ gedit id_rsa.pub
rico@rico-virtual-machine:~/.ssh$ ssh -T git@git.oschina.net
The authenticity of host 'git.oschina.net (116.211.167.14)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'git.oschina.net,116.211.167.14' (ECDSA) to the list of known hosts.
Bad packet length 2724703764.
ssh_dispatch_run_fatal: Connection to 116.211.167.14 port 22: Connection corrupted
rico@rico-virtual-machine:~/.ssh$