git 使用
- [git 版本](#git 版本)
- 配置
- 创建仓库
- 创建项目--电脑端
- 添加文件
- 添加到远程仓库
- [SSH 生成私钥](#SSH 生成私钥)
- [启动 SSH 代理](#启动 SSH 代理)
- 复制公钥内容
-
- [方法1:使用 PowerShell](#方法1:使用 PowerShell)
- [方法2:使用 Git Bash](#方法2:使用 Git Bash)
- 方法3:使用命令提示符(CMD)
- 方法4:使用文本编辑器直接打开
- 查看状态
- 服务器上的文件更改
- [Deploy keys](#Deploy keys)
- 更改恢复文件
- [使用 git revert(推荐用于已推送的提交)](#使用 git revert(推荐用于已推送的提交))
- 代码冲突
- 分支
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