【Linux】Git使用

news/2025/1/16 5:31:26/

一、Git简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理很小或非常大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

二、Git安装

        首先输入 git 命令,查看系统有没有安装Git,如果没有,根据提示【sudo apt-get install git】就可以直接完成Git的安装。

        旧版本的Debian或Ubuntu Linux,可能要把命令改为【sudo apt-get install git-core】,如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:

./config
make
sudo make install

三、本地项目上传到Github

        1、在本地创建一个版本库(即文件夹),该目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来可以“还原”;

mkdir learngit

        2、通过【git init 】命令将该目录变成Git可以管理的仓库(初始化一个Git仓库),此时当前目录下多了一个 .git 的目录,通过【ls -ah】命令可以看见该隐藏目录;

cd learngit
git init

        3、把项目复制到这个文件夹里面,再通过【git add】把项目添加到仓库;

git add 文件名

        4、再通过【git commit -m "注释内容"】把项目提交到本地仓库,如果出现Author identity unknown错误,按照提示输入命令即可;

        5、在用户主目录下,查看有没有.ssh目录,如果有,再看下该目录下有没有id_rsa和id_rsa.pub这两个文件,如果都有,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key,一直回车,使用默认值即可;

$ ssh-keygen -t rsa -C "youremail@example.com"

        6、登录GitHub,打开"Account " -> "settings" -> "SSH Keys" -> "Add SSH Key",填写任意Title,在Key文本框里粘贴id_rsa.pub文件的内容;        

        7、在Github上设置好SSH密钥后,新建一个远程仓库"Create a new repo",填写Repository name,其他保持默认设置,点击"Create repository"按钮;

        8、根据GitHub的提示,在本地的learngit仓库下运行命令【git remote add origin git@github.com:xxx/xxx.git】将本地仓库和远程仓库进行关联,此处注意替换成自己的GitHub账户名及远程仓库名;

        9、最后通过【git push -u origin master】命令将本地仓库的项目推送到远程仓库(也就是Github)上。

以后,只要本地做了提交,就可以通过命令:

$ git push origin master

把本地master分支的最新修改推送至GitHub,这样你就拥有了真正的分布式版本库!

注意:如果出现如下错误,是因为直接在github上在线修改了代码,或者是直接向某个库中添加文件,但是没有对本地库同步,接着想push上传到远程库,就会失败。

解决方法:因为远程库与本地库不一致造成的,那么把远程库同步到本地库即可。

1、提前防止发生这个警告如果之前没有在本地库中进行commit,那么直接通过pull拉取要上传的远程库即可;

git pull 远程库别名 master

2、之前已经commit了需要通过 --rebase 取消掉本地库中刚刚的commit。

git pull --rebase 远程库别名 master

出现Successfully rebased and updated refs/heads/master.即成功。


http://www.ppmy.cn/news/1145741.html

相关文章

【数据库——MySQL(实战项目1)】(1)图书借阅系统

目录 1. 简述2. 功能3. 数据库结构设计3.1 绘制 E-R 图3.2 创建数据库3.3 创建表3.4 插入表数据 1. 简述 经过前期的学习,我们已经掌握数据库基础操作,因此是时候来做一个实战项目了——图书借阅系统。对于图书借阅系统,相信大家不难想到至少…

JMeter—逻辑控制器

JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套别的种类的逻辑控制器  一、ForEach控制器 定义一个循环规则,关键参数说明:   输入变量前缀:可以在“用户自定义的…

微信开发者工具80051报错

微信开发者工具上传项目时报错 官方显示已经在0.5版本修复 ​ 但是更新版本后要自动勾选压缩包 ​ ​ 比较麻烦 或者使用公共图床,将图片变成路径 /分包上传/压缩上传 最直接用腾讯云发布

Oracle笔记-对ROWNUM的一次理解(简单分页)

此博文记录时间:2023-05-05,发到互联网上是2023-10-09 这个在分页里面用得比较多,在MySQL中,通常使用limit去操作,而去感觉比较简单,Oracle中无此关键字。 通过查阅资料后,要实现分页需要用到…

第四章 树和二叉树

第四章 树和二叉树 树的基本概念树的概念树的相关术语 二叉树二叉树基本概念二叉树的性质 二叉树的存储结构二叉树的顺序存储结构二叉树的链式存储结构 二叉树的遍历二叉树遍历的递归实现二叉树的层次遍历二叉树遍历的非递归实现 树和森林树的存储结构树、森林与二叉树的关系树…

【分享】获取微信通讯录python代码形式实现

具体流程就是: 1. 打开微信 2. 点击通讯录 3. 滚动鼠标到最顶部(防止已经滚动了一部分了) 4. 获取联系人列表 5. 找到最后一个空格所在的位置(后一个就是真正的联系人了) 6. 点击第一个联系人 7.记录下上一个联…

Jetpack:004-如何使用文本组件

文章目录 1. 概念介绍2. 使用方法2.1 通用参数2.2 专用参数 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack组件在布局中的对齐方式,本章回中主要介绍文 本组件的使用方法。闲话休提,让我们一起Talk Android Jetpack吧 1. 概念介绍 我们在本章…