Ubuntu下git的安装与使用
- Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便。
-
首先,确认你的系统是否已安装git,可以通过
git
指令进行查看,如果没有,在命令行模式下输入sudo apt-get install git
命令进行安装。
-
安装完成后进行git配置,输入指令
git config --global user.name "xxx"
和git config --global user.email "你的邮箱地址"
-
配置完成后,需要创建验证用的公钥,因为
git
是通过ssh
的方式访问资源库的,所以需要在本地创建验证用的文件。使用命令ssh-keygen -C 'you email address@gmail.com' -t rsa
(注意ssh
与-keygen
之间没有空格),会在用户目录~/.ssh/
下建立相应的密钥文件。
-
创建完公钥后,需要上传。使用命令
cd ~/.ssh
进入~/.ssh
文件夹,输入gedit id_rsa.pub
打开id_rsa.pub
文件,复制其中所有内容。接着访问http://git.oschina.net/profile网页,点击SSH公钥
,标题栏可以随意输入,公钥栏把你刚才复制的内容粘贴进去就OK了。
-
可以使用
ssh -T git@git.oschina.net
命令来测试连接是否畅通。
-
接下来的内容就和在Windows下使用git上传一样了,先自己创建一个文件夹,把敲的代码拷贝进去(或者每次使用vim的时候直接切到该文件夹目录下进行编辑),先使用
git init
指令初始化一个git仓库,接着输入git add .
添加文件,输入git commit -m "注释"
提交至仓库。
-
输入
git remote add origin https://git.oschina.net/你的用户名/项目名.git
,git push origin master
即可完成推送
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$