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

相关推荐
前路不黑暗@8 小时前
Java项目:Java脚手架项目的模板服务和网关服务的实现(三)
java·开发语言·spring boot·git·学习·spring cloud·maven
贡献者手册10 小时前
当 AI 写代码的速度超过了你提交的速度:为何你需要一款“流式” Git 管理器?
人工智能·git
NGC_661112 小时前
idea中使用git
java·git·intellij-idea
承渊政道12 小时前
Linux系统学习【深入剖析Git的原理和使用(上)】
linux·服务器·git·学习
无巧不成书021813 小时前
RN鸿蒙教学|第2课时】Git进阶+React Native鸿蒙工程配置优化(多终端适配入门)
git·react native·harmonyos
was17213 小时前
git下如何快速提交及推送
git·效率优化
Go_Zezhou13 小时前
render网站保存历史记录错误解决
开发语言·git·python·html
007张三丰1 天前
Git Rebase详解,与merge,cherry-pick比较
git·rebase·rebasing
jimy11 天前
GitHub的codespaces入门,以及git设置
git·github