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

相关推荐
Moshow郑锴1 天前
Git如何上传目录到github项目进行初始化
git
春日见1 天前
GIT操作大全(个人开发与公司开发)
开发语言·驱动开发·git·matlab·docker·计算机外设·个人开发
Ama_tor1 天前
将本地的 Electron 项目上传到 Gitee(码云)的 Git 操作流程
git·electron·gitee
笑鸿的学习笔记1 天前
git笔记之--abort和--quit参数详解
笔记·git
Z.风止1 天前
Large Model-learning(1)
开发语言·笔记·git·python·学习
Be for thing1 天前
分支管理与冲突解决
git·学习
极地星光1 天前
从零到一搭建 **多仓库项目(Repo Manager 架构)** 完整步骤
git·架构
原来是猿1 天前
进程间通信(三):命名管道
linux·服务器·网络·git
幸福从心动开始1 天前
脱单不是拖,爱要主动说——写给还在“git commit -m ‘等缘分’”的程序员
git
弹简特2 天前
【测试基础】11-软件测试之测试方案编写&测试报告编写&Git工具安装
git·功能测试