Git配置命令

基础介绍

四个区域位置
工作区(Working Directory).git所在的目录
暂存区(Staging Area/index).git/index
本地仓库(Local Repository).git/object
远程仓库(Remote Repository)
文件状态
未跟踪 (Untrack)新创建但没有被git管理的文件
未修改 (Unmodified)被git管理但没有变化的文件
已修改(Modified)修改了但是没有保存到暂存区的文件
已暂存(Staged)修改后已经保存到暂存区的文件
已提交(Committed)把暂存区的文件提交到本地仓库后的状态

命令介绍

设置Git全局配置,设置用户名和邮箱

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

记住用户的用户名和密码(有安全风险)

$ git config --global credential.helper store

在内存中缓存凭据,而不是存储在文件中(有安全风险)

$ git config --global credential.helper cache

使用 SSH 密钥通常被认为更安全,因为它不涉及在本地存储密码

列出全局 Git 配置的所有设置

$ git config --global --list

初始化仓库方式1

mkdir code
cd code
git init -b "main"

初始化仓库方式2

git clone <url>

查看仓库状态

git status

添加到暂存区

git add

可以添加所有文件

git add .

添加文件可以使用通配符

git add *.txt

提交(暂存区的文件),一般直接 -m “提交信息”

git commit -m "commit message"

查看仓库提交历史记录

git log

查看简洁的仓库提交历史记录

git log --oneline

回退版本,ID是回退到的那个版本

git reset + --模式 + 版本ID

//比如回到ID为5af90b8的版本
git reset --mixed 5af90b8
//或者回退到上个版本 用 HEAD^ 表示上个版本
git reset --mixed  HEAD^

回退版本,保留工作区跟暂存区内容

git reset --soft

回退版本,不保留工作区跟暂存区内容

git reset --hard

回退版本,只保留工作区内容,不保留暂存区内容,不加参数默认此模式

git reset --mixed

查看操作历史记录,可回溯误操作

git reflog

查看工作区和暂存区之间的差异

git diff

查看工作区和本地仓库之间的差异

git diff HEAD

查看暂存区和本地仓库之间的差异

git diff --cached
git diff --staged

查看不同版本之间的差异(后面加两个版本ID)

git diff b270efb HEAD

查看上一个版本与当前版本之间的差异

//两种方式都可
git diff HEAD^ HEAD
git diff HEAD~ HEAD
//提交之前的第二个版本与当前版本比较
git diff HEAD~2 HEAD
//单独比较不同版本的某一个文件
git diff HEAD^ HEAD <file>

查看不同分支之间的差异

git diff zhagnsan lisi

查看暂存区文件内容

git ls-files

同时删除暂存区跟工作区文件,删除完提交

git rm <file>

删除暂存区,但保留工作区

git rm --cached <file>

递归删除某个目录下的所有子目录和文件

git rm -r*

.gitignore 文件匹配规则

1.添加要忽略的文件名
2.星号*通配符,比如 *.log
3.问号?匹配单个符
4.中括号[]匹配列表中的单个字符,比如[abc] 表示 a/b/c
5.文件夹用/结尾,比如 temp/
6.两个星号**表示匹配任意的中间目录
7.中括号可以使用短中线连接,比如[0-9]表示任意一位数字,[a-z]表示任意一位小写字母
8.感叹号!表示取反

# 跟踪所有的 lib.a,即便你在前面忽略了 .a文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

应该忽略的文件:
    系统或者软件自动生成的文件
    编译产生的中间文件和结果文件
    运行时生成的日志文件,缓存文件,临时文件
    涉及身份密码口令密钥等敏感信息文件

配置SSH

ssh-keygen -t rsa -b 4096 -C "这里是可选的注释"

也可以直接这样

ssh-keygen -t rsa -b 4096

命名密钥文件名

Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

密码是可选的,直接回车不设置密码,设置密码需要重复验证一次

Enter passphrase (empty for no passphrase):

关联本地仓库跟远程仓库

git remote add origin https://gitee.com/your-username/your-repository.git

验证是否成功添加远程仓库

git remote -v

拉取远程仓库内容,如果是在一个不同的分支,main为实际使用的分支名称

git pull origin main

推送本地仓库到远程仓库,main为实际使用的分支名称

git push -u origin main
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Anxonz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值