首页 > 其他分享 >git详解

git详解

时间:2022-12-08 12:03:07浏览次数:64  
标签:文件 git 仓库 gitee mytest 详解 com


文章目录

  • ​​一、git​​
  • ​​1. git简介​​
  • ​​2. git安装​​
  • ​​3. 设置git个人信息​​
  • ​​4. git bash基本用法​​
  • ​​二、gitee配置​​
  • ​​1. 自行注册gitee账号​​
  • ​​2. 生成SSH公钥​​
  • ​​3. 配置SSH公钥​​
  • ​​4. 创建一个项目​​
  • ​​三、git连接gitee远程仓库​​
  • ​​(1)克隆仓库到本地​​
  • ​​(2)本地初始化​​
  • ​​(3)关联本地工程到远程仓库​​
  • ​​(4)上传文件到远程库​​
  • ​​(5)测试成功​​
  • ​​四、常用的git命令​​
  • ​​参考博客​​

一、git

1. git简介

Git和SVN的区别:

  • SVN是集中式版本控制系统,版本库集中放在中央服务器,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活动推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
  • Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件

2. git安装

git官网下载链接:​​https://git-scm.com/download/win​​ 安装一直点击下一步,或者自行搜索一遍安装教程的博客:安装教程

安装完成后​​win+R​​​打开命令提示符输入​​git --version​​查看git版本即知道是否安装成功

git详解_git


而且安装后右键桌面会多了两个东西

git详解_gitee_02


GUI用的不多,这里主要是用Bash;

3. 设置git个人信息

这里随便弄,因为向远程仓库提交信息时,需要自报家门;尽量与git网站注册信息一致

git config --global user.name "你的名字"
git config --global user.email "邮箱"

git详解_git_03

4. git bash基本用法

关于怎么用,和Linux终端下指令一样;常见的有以下:

* cd :改变目录
* cd .. :回退到上一个目录,直接cd进入默认目录
* pwd :显示当前路径
* ls、ll :列出当前目录中的所有路径
* touch :新建一个文件
* mkdir :新建一个文件夹
* rm : 删除一个文件
* rm -r :删除一个文件夹
* mv :移动
* reset :重新初始化终端/清屏
* clear :清屏
* history :查看命令历史
* help :帮助
* exit :退出
* #表示注释

git详解_github_04


二、gitee配置

1. 自行注册gitee账号

这里以gitee为例,GitHub用法类似

2. 生成SSH公钥

由于我们的本地 git仓库和 gitee仓库之间的传输是通过SSH加密的,所以我们需要配置SSH公钥。
打开​​​cmd​​命令行,输入命令

ssh-keygen -t rsa -C "[email protected]"

注意:这里的[email protected]只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
-t是选择加密算法
-C不加也行

git详解_github_05

按照提示完成​​三次回车​​,即可生成ssh key。

进入公钥位置对应目录用​​文本文件​​打开

git详解_远程仓库_06


全部​​复制​

3. 配置SSH公钥

在​​gitee​​​网站点击​​设置​​​->​​SSH公钥​

git详解_远程仓库_07


将你复制的SSH公钥直接粘贴到框中,​​确定​

git详解_ssh_08


添加成功!

git详解_gitee_09

4. 创建一个项目

点击右上角的 +号,新建仓库

git详解_远程仓库_10


如下,填写仓库信息,最后点击创建即可。

git详解_远程仓库_11



三、git连接gitee远程仓库

本地电脑新建一个文件夹​​gitee​​​,目录空白处鼠标​​右键​​​,点击​​Git Bash Here​​。

git详解_github_12

(1)克隆仓库到本地

点击​​克隆/下载​​​,然后点击​​SSH​​​,​​复制git链接​

git详解_远程仓库_13


输入​​git clone 刚刚的git链接​​,如下

git clone [email protected]:zdbya/mytest.git

git详解_github_14


成功后,本地目录即可看到克隆下来的mytest文件夹。

(2)本地初始化

进入到本地的某个目录后输入​​git init​​,使这个目录变成git可以管理的仓库。

git init

上面语句会生成一个​​.git​​文件

(3)关联本地工程到远程仓库

有时候,我们可能是先在本地有了工程文件,然后再在gitee上创建仓库的。
此时,可在本地库上使用命令 ​​​git remote add​​把它和gitee的远程库关联,如下

git remote add origin https://gitee.com/zdbya/mytest.git

git详解_github_15


如果报错说已存在远程库,就先删除,再关联

注意:删除已有的远程库指令如下:​​git remote rm origin​

​git remote -v​​可以查看关联的远程库

14051@LAPTOP-7NLRI4B2 MINGW64 /d/gitee/mytest (master)
$ git remote -v
origin [email protected]:zdbya/mytest.git (fetch)
origin [email protected]:zdbya/mytest.git (push)



(4)上传文件到远程库

在本地添加文件,如下,我们打算将它上传​​gitee​

git详解_git_16


执行git命令,提交文件
git的工作流程:
1、在工作目录中添加、修改文件
2、将需要进行版本管理的文件放入暂存区域
3、将暂存区域的文件提交到git仓库
因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

用到下面这几条命令

git add *                    #添加所有文件到暂存区
git status #查看所有文件状态
git commit -m "提交内容注释" #提交暂存区中的内容到当前分支
git push #push到远程仓库上

1、先进入对应路径下

14051@LAPTOP-7NLRI4B2 MINGW64 /d/gitee (master)
$ cd mytest/

2、​​git add -A​​ 添加文件

14051@LAPTOP-7NLRI4B2 MINGW64 /d/gitee/mytest (master)
$ git add -A

​git status​​可以查看暂存区状态,再把 暂存区 代码提交到 本地仓库

git详解_远程仓库_17

3、​​git commit​​ 文件

14051@LAPTOP-7NLRI4B2 MINGW64 /d/gitee/mytest (master)
$ git commit -m "项目初始化提交"
[master 291598d] 项目初始化提交
1 file changed, 2663 insertions(+)
create mode 100644 "\343\200\212LeetCode\343\200\213\346\225\260\346\215\256\347\273\223\346\236\204\345\205\245\351\227\250\346\235\277\345\235\227.md"

4、​​git push​​文件

14051@LAPTOP-7NLRI4B2 MINGW64 /d/gitee/mytest (master)
$ git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 16 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 16.60 KiB | 1.19 MiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To gitee.com:zdbya/mytest.git
1167115..291598d master -> master



(5)测试成功

git详解_git_18



四、常用的git命令

以下是常用的指令:

git init                        #把当前目录变成git可以管理的仓库
git add readme.txt #添加一个文件,也可以添加文件夹
git add -A #添加全部文件
git rm test.txt #删除一个文件,也可以删除文件夹
git commit -a -m "some commit" #提交修改
git status #查看是否还有未提交
git log #查看最近日志

git reset --hard HEAD^ #版本回退一个版本
git reset --hard HEAD^^ #版本回退两个版本
git reset --hard HEAD~100 #版本回退多个版本

git remote add origin +地址 #远程仓库的提交(第一次链接)
git push -u origin master #仓库关联
git push #远程仓库的提交(第二次及之后)

git branch [branch-name] #新建一个分支,但依然停留在当前分支
git branch [branch-name] #切换到branch-name分支
git checkout -b [branch] #新建branch分支,并切换到该分支

git merge [branch] #合并指定分支到当前分支
git branch -d [branch-name] #删除指定分支

【1】关于更多的详细指令可以查看:​​https://gitee.com/all-about-git​

【3】关于git的视频学习教程:​​https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.337.search-card.all.click​

git restore也可以恢复误删除的本地文件:

git详解_ssh_19


标签:文件,git,仓库,gitee,mytest,详解,com
From: https://blog.51cto.com/u_15902866/5920881

相关文章

  • git强制远程更新覆盖本地修改
    git强制远程更新覆盖本地修改 gitpull时出现冲突放弃本地修改,使远程库内容强制覆盖本地代码 1.gitfetch--all //从远程拉取最新的代码不merge2.gitreset......
  • vmstat命令详解
     vmstat命令可以干啥?可以查看内存能使用情况,IO情况、上下文切换次数、CPU情况等。1.基础命令:vmstat2.其他用法:vmstat[-a][-n][-Sunit][delay[coun......
  • 计算机存储器之容量计算详解
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • [转]MySQL数据类型详解
    原文地址:https://www.cnblogs.com/lteal/archive/2013/03/04/2943061.htmlMySQL数据类型,可以被分为3类:数值类型、日期和时间类型以及字符串(字符)类型 方括号(“[”和......
  • 万字干货|Synchronized关键字详解
    作者:小牛呼噜噜|https://xiaoniuhululu.com计算机内功、JAVA底层、面试、职业成长相关资料等更多精彩文章在公众号「小牛呼噜噜」前言大家好,我是呼噜噜,在之前的文章......
  • Nginx rewrite 详解
    Nginxrewrite详解本篇主要介绍nginx的rewrite重定向这个功能进行详解介绍,以及介绍它的使用场景1.rewrite基本介绍rewrite是实现URL重写的关键指令,根据reg......
  • Git如何清理大文件?
    当本地删除了大文件还是存在git里提交不了到仓库?1.首先找到占用最大的文件gitrev-list--objects--all\|gitcat-file--batch-check='%(objecttype)%(objectname......
  • GitHub 远程仓库
    gitgitconfig--globaluser.name"clipboard"gitconfig--globaluser.email"[email protected]"gitconfig--global--listssh-keygen-trsa-b4096-......
  • 什么叫SSH?原理详解。
    SSH(SecureShell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录或文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的......
  • git pull 强制覆盖本地文件
    “gitpull”强制覆盖本地文件放弃本地修改,使用服务器代码覆盖本地的Git命令如下:gitfetch--allgitreset--hardorigin/mastergitpull上面代码使用master分......