Git 基本操作 | 菜鸟教程

推荐常用工具:sourcetree

全局配置

git  config -- global  user.name "昵称"

git  config -- global  user.email "邮箱"

git  config -- global  user.password "密码"

git config --list // 查看配置

常用命令

git init // 初始化

git remote add [远程仓库名] [地址] // 添加远程仓库地址

git branch -M mian  // 修改远程仓库分支名称

git remote rm [远程仓库名] // 删除远程地址

git remove -v //查看当前项目连接远程仓库地址

git add . // 添加文件到暂存区

git commit -m "备注"

git push -u [远程仓库名] [本地分支] // -u设置默认值第一次,以后可直接git push

git pull 【远程仓库名】【本地分支】// 拉取远程仓库代码

git fetch 【远程仓库名】 从远程仓库获取更新代码

git checkout 【已存在的本地分支名】

git merge 【远程仓库名】/【本地分支】 合并分支

git diff // 比较文件的不同,即比较文件在暂存区和工作区的差异

git status // 用于查看 Git 仓库当前状态

git checkout -b 【新分支名】

创建新的本地分支,并切换到该分支

等同于

git branch 【新分支名】 # 创建分支

git checkout 【新分支名】# 切换分支


撤销最新提交,保留更改记录,进行文件修改,再重新提交

git reset --soft HEAD~1 # 之前的更改记录会保留在暂存区,新修改的记录在未暂存区

git add .

git commit -m "new commit" # 新的提交信息,能覆盖前一条的提交记录

合并多个本地提交为一个提交,并推送到远程仓库。

# 切换到目标分支(如 main 或 master)
git checkout main (旧记录的分支)

# 将 feature 分支的所有更改压缩合并为一次提交
git merge --squash feature-new (默认存放在暂存区,所以下一步直接提交更改)

# 提交更改
git commit -m "Merge feature-branch changes"

# 如果远程仓库有多个提交记录,但你都不想要
# 以本地某个分支的历史记录作为远程的提交记录
git push --force origin 本地分支:远程分支 

github.com

git push 失败 fatal: unable to access 'https://github.com/xxx/xxx.git/': Recv failure: Connection was reset

解决: 开启全局代理,TUN模式

fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to github.com port 443 after 21034 ms: Couldn't connect to server

开了vpn,浏览器可以访问,命令行不能访问,配置本地代理

解决:

git config --global http.proxy 127.0.0.1:你的vpn端口号

git config --global https.proxy 127.0.0.1:你的vpn端口号

推送成功

取消配置全局代理

git config --global --unset http.proxy

git config --global --unset https.proxy

查看

git config --get http.proxy

git config --get https.proxy

合并不相关历史

fatal: refusing to merge unrelated histories

# 解决

git pull origin master --allow-unrelated-histories 

前端项目:git规范处理

commitlint 根据文档进行剩余配置

pnpm add -D @commitlint/cli @commitlint/config-conventional commitizen cz-conventional-changelog husky

创建.czrc文件

{
  "path": "cz-conventional-changelog"
}

在package.json的scripts里添加

"commit": "cz"

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐