Git快速上手

三葉Leaves Author

教程为git的学习笔记,仅作为快速上手和命令备忘

作者:©️LeavesWebber

参考教程:安装Git - Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)


§1 安装和初始化

Windows11

下载地址

Git - Downloads (git-scm.com)

初始化命令

1
2
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

关于配置级别:
l 系统级配置 git conifg –system  配置文件路径~/.gitconifg
l 用户级配置 git config –global  配置文件路githome/etc/gitconfig
l 仓库级配置 git config –local   配置文件路径gitrepo/.git/config

对于Windows11,配置文件通常存放在:
C:\Users\你的用户名\.gitconfig

§2 创建版本库,本地使用

初始化版本库

新建一个文件夹作为项目地址,在这个文件夹里开启git bash并执行

1
git init

目录会生成一个隐藏的.git文件,存放了一些配置信息。从此以后,这个文件夹就像被佛祖开过光一样具备了git功能。

工作区,暂存区与仓库

文件夹里能看到的所有的东西都是在工作区,三者的关系如下:

将文件添加到暂存区

对某个文件使用

1
git add 文件名

会把文件提交到暂存区
使用如下命令会一次性提交所有项目文件

1
git add .

提交文件到版本仓库

命令:

1
git commit -m "这是一段提交说明"

这个命令把所有暂存区的玩意提交到版本仓库

版本管理

查看当前状态

1
git status

如果

  1. 工作区的修改没被提交
  2. 暂存区的玩意没被提交
    状态都会提示

比较文件不同

1
git diff 文件名

这会把工作区的文件和仓库内已经提交的最新版本进行对比
如果文件是文本类文件,会列出不同。不过反直觉的是word文件这些富文本编辑器的格式不是文本类文件,此时Markdown文档的优势又一次被提现了出来😊

查看日志

日志记录了提交过的修改,能看出版本号(哈希值),提交作者、日期、说明等

1
git log

只能看出版本号和提交说明的简略日志

1
git log --pretty=oneline

关闭终端后若想找回之前的日志,可以用

1
git reflog

版本回退

回退到上一个版本:

1
git reset --hard HEAD^

HEAD^表示当前版本的上一个版本,HEAD^^则是上上个,等价于HEAD~2

回退到指定版本

1
$ git reset --hard 版本号

版本号只需要输入前几位然后执行命令(无需tab)就行,会有自动补全。

撤销修改

撤销修改的命令会在使用git status后提醒你

撤销工作区修改

如果你仅仅修改了工作区文件,使用

1
git checkout -- 文件名

这个命令会把工作区的文件恢复到版本仓库里最新的版本

撤销暂存区修改

如果你不光修改了文件,还git add了,使用

1
git reset HEAD 文件名

这个命令会撤销暂存区的修改,之后你可以再撤销工作区修改就可以完全丢弃修改

§3 远程仓库

生成ssh密钥

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

对于Windows,生成的密钥会存在C:\Users\你的用户名\.ssh这样的位置,里面有id_rsa(私钥)和id_rsa.pub(公钥)两个文件

绑定github

在github的账户设置里,能看到SSH Keys页面,在里面点击“Add SSH Key”,然后把刚才公钥的内容(公钥以文本文件打开)输进去

添加远程仓库

ssh方式:

1
git remote add origin git@github.com:你的github账户名/你的仓库名称.git

https方式:

1
git remote add origin https://github.com/你的github账户名/仓库名.git

orgin是默认的远程仓库别名,可以换成其他的
ssh和https两种方式都可以与github通信,但ssh据说速度会更快

推送(push)本地库内容到远程

首次

1
git push -u origin master

master是默认的主分支名称,这在github上默认是main,可以在github的账户设置里修改
参数-u会关联本地库与远程库,以此在以后的推送或者拉取时简化命令
如果要改本地仓库主分支名称,可以用如下命令

1
2
#由默认的master改为github默认的main
git branch -m master main

之后

1
git push origin master

查看远程仓库信息

1
git remote -v

本地删除远程库信息

1
git remote rm origin

克隆(clone)远程库到本地

通过这种方式能把自己的远程库克隆本地

1
git clone ssh仓库地址

ssh地址的格式上面已经交代过了

拉取(pull)远程库到本地

从远程仓库拉取数据并尝试与本地分支合并。

1
git pull origin master

这会从名为 origin 的远程仓库拉取 master 分支的更新,并尝试将这些更改合并到当前本地的 master 分支。

参与github上别人的项目

我们并不能直接克隆别人的仓库,即使这样做了之后也无权限提交修改,正确做法是:

  1. 在别人的项目主页点fork,以此把东西克隆到自己的远程仓库
  2. 用clone,把这个项目对应的自己远程仓库的东西,弄到本地
  3. 修改后再push到自己的远程仓库
  4. 在别人的仓库发起pull resquest,别人接受后则完成参与
  • 标题: Git快速上手
  • 作者: 三葉Leaves
  • 创建于 : 2024-11-07 00:00:00
  • 更新于 : 2024-11-21 16:56:20
  • 链接: https://leavesblog.netlify.app/6f0be80190da/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论