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

相关推荐
星恒随风32 分钟前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人18 小时前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安19 小时前
git学习记录01
linux·git·学习
lingchen190620 小时前
版本控制 Git源代码项目管理
git
虫无涯20 小时前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆1 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git
阿钱真强道2 天前
课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识
git·hal库·keil·vs code·开发环境搭建·stm32f103·st-link
老李IT笔记3 天前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
Joecien3 天前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
行者-全栈开发3 天前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地