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

Git使用方法(二)---常用命令-半小时学会git

学习课程:【GeekHour】一小时Git教程_哔哩哔哩_bilibili

提示:window和Ubuntu mac指令不同

dir  等于 ls

chdir 等于 pwd

dir /A:H 等于 ls -a

如果用cmd就是windows
如果用open git bash here 就可以用ubuntu指令了

 

一 基础知识

1 查看版本
git -v
git version 2.45.2.windows.1

2 配置用户名(只需要执行一次)
git config --global user.name "xxx"
--global表示全局配置 ,不加就只针对本地仓库git config --global --list

3 配置邮箱(只需要执行一次)
git config --global user.email "xxx"

4 保存用户名+邮箱
git config --global credential.helper store

5 查看git配置信息
git config --global --list
查看name email等信息

二 创建仓库

1 git init

2 git clone

3 git init
初始化一个空的仓库

4

工作区(working)-暂存区(staging)-本地仓库关系(local)
.git---.git/index---.git.objects

git add
git commit

三 添加和提交文件

1 .git 同级目录下
写入文字“xxx”到file1.txt
echo “第一个文件”>file1.txt

2 查看状态
git status
显示多了一个文件file.txt
>>>红色表示未跟踪的状态

3 通过git add file1.txt添加到暂存区
>>>绿色表示添加到暂存区(等待被提交)

4 git rm 是git add的反向操作,将暂存区的文件取消暂存

5 提交到仓库
git commit  -m "第一次提交"
提交到仓库(需要结合-m 参数, 不加-m就会进入一个交互界面)
只会提交暂存区,不会提交工作区

6 创建第二个文件测试一下
echo "第二个文件的内容" > file2.txt

git status

git commit  -m "第一次提交"
git status查看状态,绿色暂存区的文件已经被提交,这里没有了

7 创建更多文件
echo "file3" > file3.txt
echo "file4" > file4.txt
echo "file5" > file5.sh

git staus


git add *.txt


git add .表示添加所有文件

8 git commit   ( 不加-m就会进入一个交互界面)
进入vim状态
i 进入编辑模式,esc进入命令模式
左上角输入"这是第二次提交”
:wq 退出


 

git status查看发现已经提交

9 git log 命令查看提交记录
git log --oneline 简洁查看

四 git reset 回退版本

五、git diff 查看差异

六、git rm 删除文件

七、gitignore忽略文件

八、Github注册账号

自行注册

九、SSH配置   and   克隆仓库(从github到本地---从本地push到github)

1 填写
仓库名(起名为 remote-repo)---说明---公开或私人---readme---添加gitignore---许可证


2 创建仓库(点击上图绿色按钮)

3 关联仓库
两种方式 HTTPS  需写用户名和地址(21年已经停止使用)
或者SSH 无需写用户名和地址 (推荐SSH)

a 本地没有,就创建一个
b 本地已有仓库的处理办法

git clone git@github.com:xxx/remote-repo.git
github仓库克隆到本地
显示如下,因为还没有配置SSH秘钥才会这样

4 构建ssh链接 配置SSH秘钥()

cd ~ 进入根目录
cd .ssh 文件
ssh-keygen -t  rsa -b 4096  (-t 秘钥类型 -b 生成大小)
输入完会出现
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
红色就是.ssh所在文件

5 第一次使用
一直回车2次即可, 如果之前生成过在此生成会覆盖
生成这个文件.ssh/id_rsa
下面打勾位置回车即可

5 如果不是第一次使用:输入新的秘钥名,例如 test
在这段话后面 Enter file in which to save the key
输入test,后面回车,输入密码(指定一个新的密码),这里会出现一个新的密钥对


 

6 继续看第一次使用情况

打开公钥文件xx.pub(可以用记事本打开)然后复制里面内容

7 打开github

点头像-setting

SSH and GPG keys
New SSH key

起名---粘贴公钥---add


 

第一次的话这里就完事了
如果不是第一次使用
:输入新的秘钥名,例如 test
在这段话后面 Enter file in which to save the key
输入test,后面回车,输入密码(指定一个新的密码),这里会出现一个新的密钥对

做完上面的add

还需输入

tail -5 config

意思是使用github的时候使用ssh中test这个密钥

8 这里我们在Git/learn-git文件夹这里,右键open git bash here,这样就可以用ubuntu指令

git clone git@github.com:xxx/remote-repo.git
然后看下/d/Research/Git/learn-git/这个路径下有了
remote-repo文件

9 向里面添加东西 echo hello > hello.txt   创建一个txt文件
10 git add .     添加到暂存区域
11 git commit -m "1st commit "    添加到仓库
12 git ls-files    看仓库状态

13 git push 推送上去

总结

十、(本地仓库放到远程github)关联本地仓库和远程仓库(这块我没实现

1 github创建一个仓库   (点击+号---new repository)
名字 test
复制下来  URL

2 远程仓库test  本地仓库xxx
(本地创建仓库:找个文件夹-右键open git bash here-git init)
看下本地仓库  xxx

框里说明如何推本地库到远程github

git remote add origin git@github.com:StormArcher/2nd-repo.git
git branch -M main
git push -u origin main
 
3 
git remote add origin git@github.com:StormArcher/1st-repo.git 
# <别名> <原名>
4 
git remote -v 
查看当前仓库对应的远程仓库的别名和地址
5 
git branch -M main 
指定分支为main 默认的分支名称main  6 
git push -u origin main:mian 把
本地仓库和别名为origin的远程仓库关联起来,
mian:mian表示把本地仓库的mian分支推送给远程仓库的mian分支
git push -u origin main 如果本地和远程名字相同,只写一个mian即可

这里报错

error: src refspec main does not match any
error: failed to push some refs to 'github.com:xxx/test.git'

错误:SRC refspec main不匹配任何

错误:未能推送一些参考到“github.com:xxx/test.git”

十一、Gitee的使用和GitLab本地化部署

十二、GUI工具

十三、VSCode中使用Git

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • rust 编译时报错:type annotations needed for Box
  • ant design pro v6 如何做好角色管理
  • FastAPI部署大模型Llama 3.1
  • STM32标准库学习笔记-6.定时器-输入捕获
  • final
  • Redis5优化-Redis
  • Burp Suite、Wireshark与Fiddler:三款网络工具深度解析与比较
  • 【C++篇】迈入新世界的大门——初识C++(上篇)
  • JavaEE篇:多线程(1)
  • 计算机网络中用于远程访问和文件传输的不同方式
  • 数据结构入门——07堆
  • Spring Boot自动配置原理
  • 乌龟对对碰在线版
  • 第七十四:前端实现点击页面某个菜单跳转到对应的锚点功能
  • 微信怎么恢复聊天记录?轻松4招,恢复消失的聊天记录
  • 网络传输文件的问题
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 2017 年终总结 —— 在路上
  • Cookie 在前端中的实践
  • Facebook AccountKit 接入的坑点
  • IDEA常用插件整理
  • iOS小技巧之UIImagePickerController实现头像选择
  • Javascript弹出层-初探
  • JS数组方法汇总
  • Laravel Telescope:优雅的应用调试工具
  • nodejs实现webservice问题总结
  • NSTimer学习笔记
  • session共享问题解决方案
  • Spark RDD学习: aggregate函数
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从伪并行的 Python 多线程说起
  • 动态魔术使用DBMS_SQL
  • 前端相关框架总和
  • 一些关于Rust在2019年的思考
  • 优化 Vue 项目编译文件大小
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (C#)获取字符编码的类
  • (javascript)再说document.body.scrollTop的使用问题
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (八)c52学习之旅-中断实验
  • (不用互三)AI绘画工具应该如何选择
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)计算机毕业设计高校学生选课系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (算法)硬币问题
  • (五)关系数据库标准语言SQL
  • (原)Matlab的svmtrain和svmclassify
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .describe() python_Python-Win32com-Excel
  • .env.development、.env.production、.env.staging
  • .L0CK3D来袭:如何保护您的数据免受致命攻击