当前位置: 首页 > news >正文

git_guide

1. 操作流程

step 1: 本地新建一个仓库文件夹git-demo

需要在当前路径下打开git bash:

在这里插入图片描述

step 2: 初始化本地仓库

79452@legion MINGW64 /e/github/git-demo
$ git init

step 3: 在本地编写一个代码用于后面的上传
假设本地仓库新放入一个文件:test.txt。

step 4: 存在暂存区

79452@legion MINGW64 /e/github/git-demo (master)
$ git add test.txt

step 5: 推送到本地仓库

79452@legion MINGW64 /e/github/git-demo (gitmaster)
$ git commit -m "first commit" test.txt

step 6: 在GitHub新建一个仓库
仓库名设置为git-demo,当然自己可以随便命名,建议与我们本地新建的仓库保持一致。获得远程仓库的地址:https://github.com/orgxin/git-demo.gitgit

在这里插入图片描述

接下来将git远程仓库的地址用一个简化的名字代替(别名),便于后期推送,这里我们采用git-demo指代https://github.com/orgxin/git-demo.git。

79452@legion MINGW64 /e/github/git-demo (master)
$ git remote add git-demo https://github.com/orgxin/git-demo.git

移除对应的命名:

$ git remote remove git-demo

以后远程的仓库的链接t-demo代替了。查看远程仓库地址的简化名称:

79452@legion MINGW64 /e/github/git-demo (master)
$ git remote -v
git-demo        https://github.com/orgxin/git-demo.git (fetch)
git-demo        https://github.com/orgxin/git-demo.git (push)

step 7: 推送到远程仓库。

79452@legion MINGW64 /e/github/git-demo (master)
$ git push git-demo master# 当然,也可以不用别名
$ git push https://github.com/orgxin/git-demo.git master

弹框输入账号(你的github名字,不是邮箱账号)和密码(token密码, 不是登录密码)。

关于tokens的获取方法:

在这里插入图片描述

需要把tokens保存到本地(可以长期使用),因为Github上只会显示一次,下次查看就需要重新生成新的tokens。

注意事项:

(1)远程仓库的命名git-demo和本地仓库的命名git-demo以及远程仓库链接(https://github.com/orgxin/git-demo.git)的简化名git-demo这三者建议都命一样的,也可以设置不一样。

在这里插入图片描述

(2)在拉取远程仓库地址时不要使用HTTPS地址,建议使用SSH远程仓库地址,这样在每次推送的时候不会弹框,让你输入账户名和密码。

在这里插入图片描述

但是在使用SSH地址之前还需要做公钥配置,让GitHub可以对你的机子做免密登录,具体配置方法见下文。

2. 一些技巧

拉取远程仓库

如果我们的远程仓库被其他合作者修改过,但是你自己的本地还没有修改过来看,因此需要用到git pull命令,将远程仓库修改的内容重新拉到本地仓库。

一般而言,pull和push我们需要反复的用到,在本地修改了之后就要push到远程进行同步。在远程仓库的文件被其他合作者修改之后,就需要pull下来对本地的进行替换。

79452@legion MINGW64 /e/github/git-demo (master)
$ git pull git-demo master

TOC目录对GitHub失效

  • vscode中安装Markdown All in One插件;
  • 在.md界面键入Ctrl+Shift+P快捷键,然后输入Markdown All in One: Create Table of Contents即可自动生成目录。

git对中文乱码问题

如图,如果路径中有中文命名的文件需要存到仓库,采用git add就会显示中文乱码的问题。

在这里插入图片描述

解决办法:

$ git config --global core.quotepath false
$ git config --global gui.encoding utf-8
$ git config --global i18n.commit.encoding utf-8
$ git config --global i18n.logoutputencoding utf-8
$ set LESSCHARSET=utf-8

配置ssh免密登录

**step 1: **输入ssh-keygen -t rsa,敲三次回车键自动生成密钥,在本地生成如下两个文件:

在这里插入图片描述

step 2:id_rsa.pub里面的内容复制到github中。

在这里插入图片描述

注意:

若公钥已经被配置到其他github等,即公钥已经被占用了,此时可以新建一个公钥,但是命名不能与id_rsa.pub重复,新建公钥如下:

 $ ssh-keygen -t rsa -C 'your_email@example.com' -f ~/.ssh/id_rsa_new

替换掉上述的email和id_rsa_new即可,其中email是git配置的邮箱,id_rsa_new只要不与id_rsa命名相同即可。

git用户名和邮箱

为了便于身份的识别,需要给每台设备的git取一个名字和邮箱,这个用户名和邮箱可以任意取(不是Github的用户名和邮箱)。

查看用户名和邮箱

79452@legion MINGW64 /f/NewDesktop
$ git config user.name79452@legion MINGW64 /f/NewDesktop
$ git config user.email

配置全局用户名和邮箱

79452@legion MINGW64 /f/NewDesktop
$ git config --global user.name home79452@legion MINGW64 /f/NewDesktop
$ git config --global user.email 794529766@qq.com

查看用配置信息

79452@legion MINGW64 /f/NewDesktop
$ git config --global --list

3. 常用操作命令

git add命令

git add作用是把文件放在暂存区,具体原理这里不深究。但是git add有很多命令,如git add .git add *git add -Agit add -ugit add your_file,就一个add把人给整晕了。

  • 如果仅改动某一个文件,则直接用git add file指定即可。
  • 若改动的文件比较多,还包括文件夹,则可以使用git add *或者git add .,可以将所有改动包括删除的文件都放在暂存区。区别就是git add *不考虑.xxx_folder这种文件夹。
  • git add -A不受当前所在路径限制,将整个工作区的修改、新增和删除都放在暂存区。

git bash命令

  • cd: 切换路径。
  • pwd: 显示当前路径。
  • ls: 展示当前路径中所有文件和文件夹(不包括.git文件夹)。
  • ll: 展示当前路径中更加详细的文件和文件夹信息,推荐使用简单版的ls
  • touch xxx.yy: 新建一个名为xxx,后缀为yy的文件
  • rm xxx.yy: 删除xxx.yy文件
  • mkdir xxx: 新建xxx文件夹
  • rm -r xxx: 删除xxx文件夹
  • git log: 查看提交的历史记录。(详细版)
  • git reflog: 查看提交的历史记录。(简易版)推荐
  • git status:查看文件的状态命令

vim常用操作命令

vim模式

  • Esc进入正常模式,左下角显示文件名或为空,可以输入下列命令
  • i进入insert模式,左下角显示–INSERT–,可以写入

退出命令

  • :q不保存,并退出
  • :q!不保存,并强制退出
  • :w 保存文件,不退出
  • :w! 强制保存,不退出
  • :wq保存,并退出
  • :wq!强制保存,并退出
  • ZZ 保存并退出

启动

  • vim进入vim
  • vim filename.format在当前路径打开vim,并创建文件filename.format

其他

  • :open filename在vim窗口中打开filename文件
  • :!ls 列出当前路径下所有文件

参考文献

[1] 史上最简单的 GitHub 教程

[2] git add .,git add -A,git add -u,git add * 的区别与联系 - 掘金 (juejin.cn)

[3] 01_尚硅谷_Git_课程介绍_哔哩哔哩_bilibili

[4] VIM中的保存和退出、VIM退出命令、如何退出vim编辑、VIM命令大全_vim保存退出命令-CSDN博客

http://www.dtcms.com/a/290884.html

相关文章:

  • prometheus主动服务发现机制
  • 在 React 中实现全局防复制hooks
  • Java 解析前端上传 ZIP 压缩包内 Excel 文件的完整实现方案
  • Neo4j 5.x版本的导出与导入数据库
  • 易语言+懒人精灵/按键中控群控教程(手机、主板机、模拟器通用)
  • CFD总压边界条件的理解与开发处理
  • DM8数据库Docker镜像部署最佳实践
  • 自学鸿蒙测试day01-插件安装推荐
  • Vue 3 响应式原理详细解读【一】—— Proxy 如何突破 defineProperty 的局限
  • 计算机发展史:晶体管时代的技术飞跃
  • Boost库智能指针boost::shared_ptr详解和常用场景使用错误示例以及解决方法
  • 软件测试 —— A / 入门
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 基于 Nginx 搭建 OpenLab 多场景 Web 网站:从基础配置到 HTTPS 加密全流程
  • Nginx IP授权页面实现步骤
  • Grok网站的后端语言是php和Python2.7
  • Python 变量赋值与切片语法(in-place 修改 vs 重新赋值)
  • 《画布角色的双重灵魂:解析Canvas小游戏中动画与碰撞的共生逻辑》
  • 状压DP学习笔记[浅谈]
  • 计算机网络:概述层---计算机网络的性能指标
  • IFN影视官网入口 - 4K影视在线看网站|网页|打不开|下载
  • 算法训练营DAY37 第九章 动态规划 part05
  • Linux开发⊂嵌入式开发
  • 复制docker根目录遇到的权限问题
  • Mac安装Typescript报错
  • macOS 上安装 Kubernetes(k8s)
  • 深度学习-常用环境配置
  • 基于R语言的分位数回归技术应用
  • next.js刷新页面时二级菜单展开状态判断
  • Java 通过 HttpURLConnection发送 http 请求