IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git 的基本使用 -> 正文阅读

[开发工具]Git 的基本使用

基础操作

创建版本库(repository)

1.选择一个合适的地方,创建一个新目录

mkdir learngit
cd learngit

2.通过git init命令把这个目录变成Git可以管理的仓库

git init
Initialized empty Git repository in /home/username/learngit/.git/

3.用命令git add,把文件添加到暂存区:

git add readme.txt

4.用命令git commit,把暂存区的所有内容提交到当前分支(master):

git commit -m "本次提交说明"

版本回退

1.修改readme.txt文件,git status查看状态

2.git diff readme.txt查看修改后的文件与原文件的差异

3.添加并提交到仓库

git add readme.txt
git commit -m "修改说明"

3.显示提交日志git log,加上--pretty=oneline输出简洁信息

git log
# or
# git log --pretty=oneline

回退到上一版本

Git中使用 HEAD 表示当前版本(即最新的提交),上一版本为HEAD**,上上版本为**HEAD^,…,如果往上有100个版本,HEAD~100

git reset --hard HEAD^

此时,git log查看,最新的那个版本已经看不到了,想要恢复,可以利用 git reflog 找到commit id:

git reset --hard 52b5642  # id

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把 HEAD 重指向上一版本:
在这里插入图片描述

工作区和暂存区

  1. 工作区(Working Directory)

    就是电脑中能看到的目录,如前面的learngit文件夹就是一个工作区。

  2. 版本库(Repository)

    工作区有一个隐藏的目录 .git,这个不算工作区,而是Git的版本库。

    版本库中最重要的就是称为 stage/index 的暂存区,还有Git为我们自动创建的第一个分支仓库master,以及指向master的一个指针叫HEAD
    在这里插入图片描述

    以下笔记内容来自评论区@九只蜗牛Leo

    工作区>>>>暂存区>>>>仓库

    • git add 把文件从工作区>>>>暂存区,git commit 把文件从暂存区>>>>仓库,

    • git diff 查看工作区和暂存区差异,

    • git diff --cached 查看暂存区和仓库差异,

    • git diff HEAD 查看工作区和仓库的差异,

    • git add 的反向命令 git checkout,撤销工作区修改,即把暂存区最新版本转移到工作区,

    • git commit 的反向命令 git reset HEAD,就是把仓库最新版本转移到暂存区

撤销修改

回退在工作区修改了文件,但未add到暂存区的文件:

git restore <file>
# 等价
git checkout -- <file>

回退已经add到暂存区,还未进行commit的文件:

git restore --staged <file>
# 等价
git reset HEAD <file>

删除文件

git rm <file>
git commit -m "remove file"

远程仓库

添加远程仓库

  1. 在Github上 ,Create a new repo,仓库名:learngit,其他默认。

  2. 根据GitHub提示,在本地learngit仓库下执行:

    git remote add origin git@github.com:jwcen/learngit.git  # jwcen替换为你自己的用户名
    
  3. 把本地库的所有内容推送到远程库:

    当前分支master推送到远程 origin,远程库为 origin(默认名)。

    git push -u origin master  # 由于远程库是空的,首次推送加-u
    # git push origin master   以后只要本地做了提交,就直接push
    

    Git把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来

    注意:

    执行推送命令后如果要你输入账号和密码:

    账号:GitHub用户名

    密码:

    1. 需要在【settings】中找到【developer settings】-> 【Personal access tokens】-> 【Generate new token】

      2. 然后复制生成的token
      

    解决 git push 后每次都要输入账号密码:

    git config credential.helper store   # 只对当前仓库生效(推荐)
    git config -- global credential.helper store  # 全局
    

删除远程库

  1. 建议先查看远程库信息

    git remote -v
    
  2. 根据名字删除,比如删除 origin

    git remote rm origin
    

    此处的“删除”其实是解除了本地和远程的绑定关系,并不是物理上删除了远程库。远程库本身并没有任何改动。要真正删除远程库,需要登录到GitHub,在后台页面找到删除按钮再删除。

从远程库克隆

git clone git@github.com:jwcen/gitskills.git

如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。

Git支持多种协议,默认的git://使用ssh,也可使用https等其他协议。

使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh协议而只能用https

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-05 11:40:32  更:2022-05-05 11:41:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 16:37:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码