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

相关推荐
前端若水22 分钟前
git回退并合并分支操作
git
程序员鱼皮6 小时前
Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
git·ai·程序员·编程·ai编程
懵逼的小黑子8 小时前
git与远程仓库创建连接
git
前端若水8 小时前
Git 撤销与恢复完全指南(超级详细版)
大数据·git·elasticsearch
golang学习记9 小时前
Git 2.54 来了,这个新命令让我终于敢重写历史了
git·后端
其实防守也摸鱼9 小时前
AWVS下载和安装保姆级教程
linux·服务器·git
前端若水9 小时前
Git 可以做的所有操作(完整分类)
大数据·git·elasticsearch
叹一曲当时只道是寻常9 小时前
Reference 工具安装与使用教程:一条命令管理 Git 仓库引用与知识沉淀
人工智能·git·ai·开源·github
前端若水10 小时前
Git 仓库管理命令完全指南(超级详细版)
大数据·git·elasticsearch
小MarkK10 小时前
[Doc]git的使用之不上传服务器,只在本地管理
git