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_rsa       id_rsa.pub   known_hosts

3.2 配置gitee服务器端

3.3 测试是否成功

[wbyq@wbyq ~]$ ssh -T git@gitee.com
Hi 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 -v
origin  git@gitee.com:it-a-shui/git_test.git (fetch)
origin  git@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 <stdio.h>
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]$ ls
git_test  #克隆生成的文件
[wbyq@wbyq git_test]$ cat test.c
#include <stdio.h>
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 log
commit 970e00cd9669a593204f977606a48feb7b (HEAD -> master, origin/master, origin/HEAD)
Author: wbyq <872561012@qq.com>
Date:   Thu Oct 28 18:04:20 2021 +0800Ubuntu下克隆远程仓库代码测试commit 19db83b611e678e0b3c577320cd908a1e9c
Author: wbyq <872561012@qq.com>
Date:   Thu Oct 28 17:13:25 2021 +0800第二次提交测试commit f85d4db27fc9a9aafc56f1e6a26eee0f8
Author: 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 f81b615d4db27fc9a9aafc56f1e9486a26eee0f8
970e00c (origin/master, origin/HEAD) HEAD@{1}: reset: moving to 970e00c
f81b615 (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 f81b615d4db9a9aafc56f1e9486a26eee0f8
HEAD 现在位于 f81b615 添加test.c
[wbyq@wbyq git_test]$ git reset --hard HEAD~1 #回退到上一个版本
HEAD 现在位于 c9f99ab 公钥测试

ubuntu下git配置和基本使用相关推荐

  1. ubuntu下git搭建服务器(gitosis)

    ubuntu下git搭建服务器(gitosis) - 简书 var _hmt = _hmt || []; (function() { var hm = document.createElement(& ...

  2. openni linux arm,Ubuntu下安装配置OpenNI实战笔记

    1. 库OpenNI SensorKinect NITE的安装 (1)OpenNI step1 :下载 OpenNI库文件 选择"OpenNI Binaries"->&quo ...

  3. MySql UBUNTU下复制配置

    MySql UBUNTU下复制配置 [主服务器] 在/etc/mysql/目录下找到my.cnf,添加如下代码 [mysqld] log-bin=binary-log server-id=1 log- ...

  4. Ubuntu下安装配置Open×××

    Ubuntu下安装配置Open××× 时间:2009-02-11 21:03来源:http://www.kklinux.com 作者:看看Linux 点击:2664次 1. 安装 Ubuntu中安装O ...

  5. ubuntu下git 常用命令

    ubuntu下git 常用命令 Git 和代码托管中心 GitHub(外网) Gitee 码云(国内网站) GitLab(局域网) 设置用户签名 git config --global user.na ...

  6. Ubuntu下VScode配置ssh免密远程登录

    一 实现步骤 1.在本机与远程服务器上, 输入ssh-keygen -t rsa,然后连续回车直到结束 2.在本机上执行命令 ssh-copy-id 命令 (1).命令介绍 ssh-copy-id命令 ...

  7. Ubuntu下 Git 克隆gnutls_handshake() failed的问题

    在Ubuntu下git克隆的时候提示gnutls_handshake() failed,搜了一下解决方法有两种: 使用ssh证书克隆而不是通过https链接进行克隆,但是这样子模块在更新的时候还是会走 ...

  8. ubuntu下nginx配置

    ubuntu下nginx配置 文章目录 ubuntu下nginx配置 初步分析 查看nginx.service 找到服务文件 查看服务文件 查看配置文件的加载路径 配置文件分析 全局指令块 http指 ...

  9. 常用Git指令|初入职Git指令学习|如何将Git项目拉至本地|如何将本地项目上传至Git|Ubuntu下Git环境配置|Ubuntu下如何利用VSCode使用Git指令

    实习入职已经一个月了,整理一下自己常用的一些指令,供自己查阅,也可以供一些新入职朋友参考. 这条博客也会不定时更新. 2022.10.26更新Ubuntu环境下的Git配置,因为最近可能需要win,U ...

最新文章

  1. java四种xml_Java中四种XML解析技术
  2. XAF-Domain Components 技术 使用接口来定义ORM业务对象
  3. UA OPTI544 量子光学7 2-level system approximation的Density Matrix模型
  4. 学了网络安全以后能做哪些岗位呢?来来来,带你们了解
  5. 【Git】Git 修改刚提交的 commit message
  6. 【Electron】Electron开发入门(八):自定义electron框架外壳(shell)的菜单(Menu)...
  7. 不冲突的端口范围_网络中IP地址发生冲突故障怎么办
  8. SQL SERVER 只有MDF文件的恢复
  9. 神秘TTY:The TTY demystified
  10. vue中组件的导出导入_5.2 vue中 keep-alive 组件的作用,详细解释keep-alive使用方法...
  11. 转载需作者授权是如何实现的
  12. 特定条件下的技术团队绩效考核
  13. Markdown和Latex语法
  14. win10的记事本怎么保存为html,win10系统电脑记事本保存不了的解决办法
  15. SEO知识:百度谷歌搜狗谷歌必应搜索引擎蜘蛛的特点
  16. python 爬虫论_python爬虫——论抓包的正确姿势和学好Javascript的重要性(1)
  17. BeagleBone Black 从零到一 (2 MLO、U-Boot)_spl
  18. java使用poi操作world生成饼图,柱状图,折线图,组合图:二
  19. Popular MVC框架请求响应数据加解密@Decrypt和@Encrypt的使用示例
  20. 无穷小量究竟是否为零

热门文章

  1. buuctf Misc 镜子里的世界
  2. HCIP 中期综合实验
  3. access数据违反参照完整_access数据库勾选实施参照完整性报错和解决办法
  4. 首个支持苹果 M1 的 Linux 发行版来啦!
  5. Mac基础:启用root
  6. jQuery操作元素属性、jQuery循环
  7. 电脑开机自动开启程序的方法
  8. import java.awt.BorderLayout;_import java.awt.BorderLayout cmd编译出错
  9. h5+app手机物理返回键
  10. 装机window10系统