> 文档中心 > ubuntu下git配置和基本使用

ubuntu下git配置和基本使用


ubuntu下git配置和基本使用

1.git简介

  Git 是一个分布式的文件托管系统,当然这里的文件主要是源代码(文本),也可以包含其他非文本的二进制数据。由于 git 主要用于存储代码(.java .c .cpp .h .jar .class…) 中,所以以后我们就把用代码来表示文件了。
  git 包含了完善的客户端和服务端,客户端和服务端之间通过某种安全通信 协议(HTTPS 或者 SSH)进行文件的上传和下载。

2.在码云上创建Git仓库

 1.创建账号,登录gitee
在这里插入图片描述
 2.创建仓库
在这里插入图片描述
在这里插入图片描述
 3.初始化仓库
在这里插入图片描述
 创建成功。
在这里插入图片描述

3.ubuntu下git

sudo apt-get install git #安装git/*设置本地仓库信息*/git config --global  user.name "[name]"  #设置全局用户名字git config --global user.email "[email address]" #设置邮箱git config --list  #查看配置信息

3.1 本地生成公钥,使用SSH协议登录

  Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥。

[wbyq@wbyq ~]$ ssh-keygen -t rsa -C "it-a-shui@872561012@qq.com" -t 为指定加密方式rsa -C 指定生成密钥sshkey名称,可以随意填写[wbyq@wbyq ~]$ ls /home/wbyq/.ssh/ #生成密钥文件,id_rsaid_rsa.pub   known_hosts  

在这里插入图片描述

3.2 配置gitee服务器端

在这里插入图片描述

3.3 测试是否成功

[wbyq@wbyq ~]$ ssh -T git@gitee.comHi it_阿水! You've successfully authenticated, but GITEE.COM does not provide shell access.

  添加成功后,就可以使用SSH协议对仓库进行操作了

3.4 ubuntu下git基本使用

3.4.1 创建本地仓库,提交代码

  (1)首先在gitee服务器上创建仓库。
  (2)初始化本地仓库。将本地仓库与远程仓库关联。

[wbyq@wbyq work]$ git init #初始化本地仓库[wbyq@wbyq work]$ git remote add origin git@gitee.com:it-a-shui/git_test.git #关联远程仓库

  origin 是给我们当前项目的远程仓库起的名字,可以随意取,一般当只有一个远程仓库时就取名为origin。
  (3)查看本地当前项目远程仓库有哪些。

[wbyq@wbyq work]$ git remote -vorigingit@gitee.com:it-a-shui/git_test.git (fetch)origingit@gitee.com:it-a-shui/git_test.git (push)

  (4)提交本地仓库到远程仓库

[wbyq@wbyq work]$ touch test.c #在本地仓库创建一个test.c[wbyq@wbyq work]$ git commit -m "ubuntu下git使用测试" #编写提交说明[wbyq@wbyq work]$ git push origin master  #提交分支

  如果上传不成功,提示无法合并,可以强制上传:(一般不建议使用)
  git push -u origin +master #将本地仓库分支 origin 分支的所有内容推送给 master 仓库

  注意:采用git init创建本地仓库后,若不克隆远程仓库内容,直接提交则会将原来远程仓库中内容删除。
在这里插入图片描述
  (5)提交本地仓库所有文件到远程仓库。

[wbyq@wbyq work]$ cat test.c  #在test.c中添加以下内容#include int main(){printf("欢迎使用git代码管理平台\n");}[wbyq@wbyq work]$ git add -A #本地所有文件[wbyq@wbyq work]$ git commit -m "第二次提交测试" #提交说明[wbyq@wbyq work]$ git push origin master  #提交分支

在这里插入图片描述

3.4.2 克隆远程仓库内容

  git clone

[wbyq@wbyq work]$ git clone git@gitee.com:it-a-shui/git_test.git正克隆到 'git_test'...remote: Enumerating objects: 10, done.remote: Counting objects: 100% (10/10), done.remote: Compressing objects: 100% (8/8), done.remote: Total 29 (delta 2), reused 0 (delta 0), pack-reused 19接收对象中: 100% (29/29), 22.38 KiB | 402.00 KiB/s, 完成.处理 delta 中: 100% (4/4), 完成.[wbyq@wbyq work]$ lsgit_test  #克隆生成的文件[wbyq@wbyq git_test]$ cat test.c #include int main(){printf("欢迎使用git代码管理平台\n");printf("克隆远程仓库代码测试\n");}[wbyq@wbyq git_test]$ git commit -m "Ubuntu下克隆远程仓库代码测试" #提交说明[wbyq@wbyq git_test]$ git push origin master #提交分支

  注意:克隆远程仓库时会在本地生成仓库,不需要通过git init创建,需要修改和提交只需要进到该仓库目录下即可。
在这里插入图片描述

4 查看提交日志信息

[wbyq@wbyq git_test]$ git logcommit 970e00cd9669a593204f977606a48feb7b (HEAD -> master, origin/master, origin/HEAD)Author: wbyq <872561012@qq.com>Date:   Thu Oct 28 18:04:20 2021 +0800    Ubuntu下克隆远程仓库代码测试commit 19db83b611e678e0b3c577320cd908a1e9cAuthor: wbyq <872561012@qq.com>Date:   Thu Oct 28 17:13:25 2021 +0800    第二次提交测试commit f85d4db27fc9a9aafc56f1e6a26eee0f8Author: wbyq <872561012@qq.com>Date:   Thu Oct 28 15:15:05 2021 +0800    添加test.c[wbyq@wbyq git_test]$ git reflog f81b615 (HEAD -> master) HEAD@{0}: reset: moving to f81b615d4db27fc9a9aafc56f1e9486a26eee0f8970e00c (origin/master, origin/HEAD) HEAD@{1}: reset: moving to 970e00cf81b615 (HEAD -> master) HEAD@{2}: reset: moving to f81b615d4db27fc9a9aafc56f1e9486a26eee0f8

  git log 命令可以显示所有提交过的版本信息
  git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
  例如执行 git reset --hard HEAD~1,退回到上一个版本;
  用git log则是看不出来被删除的commitid,用 git reflog则可以看到被删除的commitid,我们就可以买后悔药,恢复到被删除的那个版本。

5 版本回退

  git reset --hard [版本号]

[wbyq@wbyq git_test]$ git reset --hard f81b615d4db9a9aafc56f1e9486a26eee0f8HEAD 现在位于 f81b615 添加test.c[wbyq@wbyq git_test]$ git reset --hard HEAD~1 #回退到上一个版本HEAD 现在位于 c9f99ab 公钥测试