git 使用

git 使用

git 版本

git --version

C:\Users\13630>git --version

git version 2.43.0.windows.1

或者:开始命令:git brash 应用,效果图如下:

配置

git config 配置邮箱

git config --global user.name "dong"

git config --global user.email "dong"

查看全局配置:

git config --global --list

查看仓库配置

git config --list

查看指定变量值,如果是全局加入--global ,否则为查看仓库级别,示例如下:查看全局变量名user.name

git config --global --get user.name

比如查看邮箱地址:

git config --global --get user.email

设置变量

git config --global user.emal "变量值"

设置全局变量email,示例如下:

git config --global user.emal "js_xxxxx@163.com"

网址:// github.com

创建仓库

Create a new repository-->分Private and public(开源),Private 一般是属于公司私有,Private 会收费,

其它默认,然后点击Create repository:截图如下:

创建项目--电脑端

在:workspace 目录下建立git 目录,再创建一个learn 目录,进入到learn目录,创建README.MD 文件,随便写点内容,比如:this is test,然后保存。

执行命令git init 来初始化

使用命令显示隐藏文件及文件夹

dir /a:h

添加文件

git add 添加文件

git add README.MD

表示对添加,修改,删除的文件都添加

git add -A

把添加的文件放入进本地仓

git commit -m "描述一下" ,示例:

git commit -m "初次提交"

截如下:

添加到远程仓库

建立本地仓库与远程仓库的连接:

git remote add origin https://github.com/sun1681/learn.git

将本地仓库推到远程仓库中

git push -u origin master

验证远程仓库地址

git remote -v

有误重设:

git remote set-url origin https://github.com/sun1681/learn.git

查看

git remote get-url origin

禁用 SSL 验证

git config --global http.sslVerify false

开启SSL 验证

git config --global http.sslVerify true

再次修改README.MD 文件内容,再次提交命令如下:

git add -A

git commit -m "修改作者"

git push

SSH 生成私钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

-t rsa:指定密钥类型为 RSA。

-b 4096:指定密钥长度为 4096 位,更安全。

-C "your_email@example.com":为密钥添加注释,通常使用你的 GitHub 邮箱地址。

运行命令后,系统会提示你选择保存密钥的文件位置。按回车接受默认路径(通常是 ~/.ssh/id_rsa),然后设置一个密码短语(可选但推荐)。

ssh-keygen -t ed25519 -C "your_email@example.com"

此命令会在 ~/.ssh/ 目录下生成密钥对(id_ed25519 和 id_ed25519.pub)

启动 SSH 代理

复制公钥内容

方法1:使用 PowerShell

type ~/.ssh/id_ed25519.pub

方法2:使用 Git Bash

cat ~/.ssh/id_ed25519.pub

方法3:使用命令提示符(CMD)

type %USERPROFILE%.ssh\id_ed25519.pub

方法4:使用文本编辑器直接打开

打开文件资源管理器,导航到:

C:\Users\你的用户名.ssh\id_ed25519.pub

然后用记事本或其他文本编辑器打开该文件

查看状态

git status

服务器上的文件更改

操作如下截图:

服务器上是最新的版本,现在需要使用命令保持同步,拉服务器的数据

git pull

另一种方法:

git clone git@github.com:sun1681/learn.git

Deploy keys

用于对服务器上进行布署

更改恢复文件

撤销工作区的更改

git checkout --

或者使用更现代的命令:git restore

撤销暂存区的更改git reset HEAD

git restore --staged

使用 git reset(推荐用于本地提交)

git reset --soft HEAD~1

git reset --mixed HEAD~1

使用 git revert(推荐用于已推送的提交)

git revert HEAD

git revert

git reset --hard

撤销多个提交

git revert ...

如果需要撤销远程仓库中的提交,应该使用 git revert 而不是 git reset,因为 git reset 会改变提交历史,可能影响其他开发者。

选择哪种方法取决于您的具体情况和是否已经将更改推送到远程仓库。对于本地更改,git restore 和 git reset 是常用的选择;对于已推送的更改,git revert 是更安全的方法。

代码冲突

本地更改:

服务器上更改后的文件与本地文件内容不一致。

在本地操作 :git add -A,

git commit -m "modify"

git push

报错:

! [rejected] master -> master (fetch first)
error: failed to push some refs to 'github.com:sun1681/learn.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

1.解决方案,执行命令,然后手工调整处理,

git pull origin master

效果如下图:

手工修改对应的文件

git add .

git commit -m "解决与远程master分支的合并冲突"

git push origin master

预防措施

git pull origin master

2.解决方案

git pull --rebase origin master

手工修改文件

git add README.MD

git rebase --continue

git push

git pull origin master‌:默认行为是先执行 git fetch,然后执行 git merge,将远程分支的更改合并到本地分支。这种方式会生成一个新的合并提交,可能会导致提交历史出现分叉。

git pull --rebase origin master‌:先执行 git fetch,然后执行 git rebase,将本地提交重新应用到远程分支的最新提交之上。这种方式不会生成合并提交,保持了提交历史的线性。

解决 detached HEAD 状态

git checkout -b master 你需要切换到一个分支上

git checkout master --显示分支

同步远程仓库更改

使用 git pull --rebase 来同步远程仓库的更改:

git pull --rebase origin master

如果出现冲突,需要手动解决冲突后继续:

git add .

git rebase --continue

COMMIT_EDITMSG 文件的编辑

在命令行中,如果你正在使用 vim 或 nano 等编辑器编辑该文件,可以按 Esc 键(对于 vim)然后输入 :q! 并按回车来强制退出不保存。

如果你使用的是 nano 编辑器,可以按 Ctrl + X,然后选择 No 来不保存更改。

如果你使用的是 vim 编辑器,也可以直接输入 :q! 来强制退出。

分支

创建分支并切换

git branch

git checkout -b 创建不切换

查看分支

git branch

列出本地所有分支

git branch -r

列出远程分支。

git branch -a

切换分支

git checkout

git switch

合并分支

git merge

删除分支

git branch -d

删除已合并的分支

git branch -D

强制删除未合并的分支。

重命名分支

git branch -m

重命名当前分支或指定分支。

推送分支到远程仓库

git push origin

拉取远程分支

git fetch origin

查看分支差异

git diff

相关推荐
goodspeed19 小时前
Git Worktree:多分支并行开发的利器
git·github
雮尘2 天前
让 AI Agent 高效并行开发的命令-git worktree
人工智能·git·agent
南果梨3 天前
OpenClaw 完整教程!从安装到使用(官方脚本版)
前端·git·开源
Selicens4 天前
git批量删除本地多余分支
前端·git·后端
闲云一鹤5 天前
Git LFS 扫盲教程 - 你不会还在用 Git 管理大文件吧?
前端·git·前端工程化
vibecoding日记8 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
程序员小崔日记8 天前
如何将代码轻松上传到 Gitee?Git 使用全攻略!
git·gitee·上传
Bigger9 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
DianSan_ERP10 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet