Windows上传github

本来是想随便写点什么,奈何偶然发现的一篇资料实在太详细太详细了。自认无法超越该篇文章
Git安装传送门
Git命令基本使用

设置代理(前提是有代理软件)

开启系统代理后执行

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

端口 7890 请根据你的代理软件实际端口调整。

测试连接

git ls-remote https://github.com/changchang-max/DeviceUsageTime.git

若能输出分支信息,就说明连通。

本地新建git仓库并推送至远程

1.初始化

到目标目录下

git init

2.在Git上创建远程仓库

进到网页版github,点右上角加号,New repository新建仓库。复制仓库URL(一般是https://你的项目名.git)

3. 确保你的代码已经add并提交

git add .
git commit -t "xxx"

4.关联远程仓库

git remote add origin https://gitee.com/你的用户名/项目名.git

5.推送代码

git push -u origin main

(注意:如果你的本地分支叫 master,请把命令里的 main 换成 master。你可以看终端命令行最左侧的括号里写的是什么)

推送现有仓库到远程

git remote add origin https://github.com/你的项目地址
git branch -M main 
git push -u origin main

还原本地被删除的代码(但远程仓库还在)

从远程仓库拉取最新的提交:

git pull origin <分支名>

本地回滚到某个版本(覆盖)

git reset --hard 哈希值

修改最新的一次commit注释

git commit --amend

强制push推流覆盖远程记录(有风险)

git push --force origin <分支名>

查看各个文件修改状态

git status

常见问题:

1.最近一次的commit注释写错了并push了,该如何删除覆盖

  1. 通过git commit --amend修改最近的一次commit的注释。
  2. 修改好之后git push --force origin <分支名>强制推流上去,把错误的覆盖掉

分支相关命令

一、查看分支(最常用)

1. 查看本地分支

git branch
  • * 表示当前所在分支

2. 查看远程分支

git branch -r

3. 查看本地 + 远程分支

git branch -a

4. 查看分支最近提交

git branch -v

二、创建分支

1. 基于当前分支创建

git branch new-branch

2. 基于指定分支或提交创建

git branch new-branch main
git branch new-branch commitId

三、切换分支(重点)

1. 切换分支(旧写法)

git checkout branch-name

2. 切换分支(推荐)

git switch branch-name

3. 创建并切换分支

git checkout -b new-branch

等价写法:

git switch -c new-branch

注意:

  • 当前分支有未提交修改时,Git 会阻止切换分支
  • 解决方式:提交(commit)、暂存(stash)或丢弃修改

四、删除分支

1. 删除本地分支(安全删除)

git branch -d branch-name
  • 分支未合并时会拒绝删除

2. 强制删除本地分支

git branch -D branch-name

3. 删除远程分支

git push origin --delete branch-name

五、合并分支(核心)

1. 将其他分支合并到当前分支

git merge other-branch

常见流程示例:

git switch main
git merge feature/login

2. 禁用快进合并(推荐)

git merge --no-ff feature/login
  • 会生成一次合并提交,保留完整分支历史

六、处理合并冲突

当发生冲突时,文件中会出现类似内容:

<<<<<<< HEAD
当前分支内容
=======
合并分支内容
>>>>>>> other-branch

解决流程:

# 手动修改文件解决冲突
git add conflicted-file
git commit

七、暂存与分支切换(stash)

1. 暂存当前修改

git stash

2. 切换分支

git switch release

3. 恢复暂存内容

git stash pop

注意:

  • git stash pop 可能产生冲突,需要手动解决

4. 查看暂存列表

git stash list

八、远程分支操作

1. 拉取远程分支信息

git fetch

2. 基于远程分支创建本地分支

git switch -c dev origin/dev

3. 推送本地分支到远程

git push origin branch-name

4. 设置上游分支

git push -u origin branch-name

九、重命名分支

1. 重命名当前分支

git branch -m new-name

2. 重命名指定分支

git branch -m old-name new-name

十、实战建议

  • 新功能开发:feature/xxx
  • 版本发布:release/xxx
  • 紧急修复:hotfix/xxx
  • 合并到主分支时,推荐使用 --no-ff 保留分支历史

必会分支命令速查

git branch
git switch -c new-branch
git switch main
git merge feature
git branch -d feature
git stash
git stash pop

Git拉取远程分支到本地

1️⃣ 查看远程分支

先更新本地对远程的认知,并查看远程分支列表:

git fetch --all
git branch -r

示例输出:

origin/main
origin/test-guojiaju-账号权限管理

2️⃣ 拉取远程分支到本地

如果本地还没有这个分支,可以使用以下命令:

git checkout -b "test-guojiaju-账号权限管理" "origin/test-guojiaju-账号权限管理"

解释:

  • -b "本地分支名" → 在本地创建一个新分支
  • "origin/远程分支名" → 指定远程分支作为起点
  • 使用引号包裹含有中文或空格的分支名,避免出错

3️⃣ 更新已有本地分支

如果本地已经存在同名分支,只需切换并拉取最新内容:

git checkout "test-guojiaju-账号权限管理"
git pull origin "test-guojiaju-账号权限管理"

⚠️ 注意事项

  • 分支名中含中文或空格时,务必用引号 " " 包裹
  • 确保终端支持中文字符,建议在 Git Bash 或 VSCode 终端操作
  • git fetch 只更新远程信息,不会修改本地分支
  • git pull = git fetch + git merge,会把远程内容合并到当前分支

拉取所有远程分支并创建本地分支

  1. 拉取所有远程分支
git fetch --all
  1. 切换并创建本地分支
git branch -r |
Where-Object { $_ -notmatch '->' } |
ForEach-Object {
    $branch = $_.Trim() -replace '^origin/', ''
    git branch --track $branch $_.Trim()
}
  1. 更新所有本地分支
git pull --all

push到指定分支

git push --set-upstream origin main
posted @ 2026-07-03 06:20  畅畅c  阅读(1)  评论(0)    收藏  举报