Bootstrap

GitHub与Git使用

github 上传代码常用命令

私人仓库

main(本地分支)

main 是你本地的分支。这是你在本地仓库中正在操作的分支。当你切换到 main 分支时,你会看到它代表了你本地的工作副本。

  • 本地分支:你可以在本地修改、提交代码,执行任何操作,但这些操作不会直接影响远程仓库,直到你通过 git push 将更改推送到远程仓库。

origin/main(远程追踪分支)

origin/main 是你本地仓库中用于跟踪远程仓库 originmain 分支的引用。它是一个 远程追踪分支用于显示远程仓库中 main 分支的最新状态。(origin 可理解为指向远程仓库的一个快捷方式)

  • 远程追踪分支:这些分支反映了远程仓库的状态,但它们并不是本地的真正分支。origin/main 表示你最后一次从 origin 拉取(或 fetch)远程仓库的 main 分支的状态。

命令功能
git init初始化仓库
git add 文件名(.)添加文件(所有文件)到暂存区
git commit -m “提交说明”提交到本地仓库
git push 远程名称(origin) 分支名
(origin和分支名可省略,表示将当前分支推送到远程仓库)
将本地分支推送到远程仓库的同名分支
git branch 分支名
git checkout 分支名
git checkout -b 分支名
创建新分支
切换分支
创建并切换到该分支
git merge 分支名合并指定分支到当前所属分支

Common Steps:

  git add .
  git commit -m "提交说明"
  git push

协作仓库

命令功能
git clone 仓库地址克隆远程仓库
git fetch1.从远程仓库下载本地仓库中缺失的记录
2.更新远程分支(如 origin/main)
但是不会自动合并到你的当前分支
git pull
git pull --rebase
git fetch + git merge
git fetch + git rebase
git rebase 分支名将当前所属分支上的提交“迁移”到指定分支的最新提交之后,从而使提交历史变得更直线、整洁

git merge

  • 方式:将两个分支的历史“合并”在一起。

  • 效果:如果两个分支都有新的提交,Git 会生成一个 合并提交(merge commit),保留两个分支的独立历史,从而形成一个分叉再合流的结构。

  • 示例:

    git checkout main
    git merge feature
    

    这会将 feature 分支的更改合并到 main 分支上,并生成一个合并提交。

git rebase

  • 方式:将当前分支上的提交“摘取”下来,重新应用在目标分支的最新提交之后,从而改变当前分支的基础。

  • 效果:产生一个 线性的提交历史,没有额外的合并提交,但会 重写提交历史(提交的 SHA-1 值会改变)。

  • 示例:

 git checkout feature
 git rebase main

这会将 feature 分支的提交依次重新应用到 main 分支的最新提交之后,使得历史看起来像是直接从 main 分支上发展出来的。

;