git相关,持续更新中

git clone命令做了什么

  1. 创建一个新的目录,并将远程仓库的所有文件和提交历史复制到这个目录。
    • 解释:就是将远程的仓库(包含了所有的分支)下载到了本地
  2. 自动为你检出默认分支(通常是 mastermain)。
    • 解释:关键字“检出”,就是运行git branch显示的是mastermain,远程的其他非默认分支不会显示。
  3. 设置远程仓库(通常命名为 origin)并添加所有远程分支为远程跟踪分支为默认分支设置了上游分支
    • 解释与个人理解:
    • 运行git branch -r查看所有远程跟踪分支
    • 类似于git branch --set-upstream-to=origin/master master
    • 设置了上游分支后,使得在执行git pull或者git push等操作时更加方便。
    • 远程跟踪分支,远程上游分支,分支的跟踪信息,分支的追踪关系。前者是站在整个本地仓库和远程仓库的角度上;后面三个意思一样,是站在本地仓库的某一个分支的角度上。

git branch的相关命令

  • git branch
    列出当前 Git 仓库中存在的所有分支,并标识当前所在的分支
  • git branch -r
    查看所有远程跟踪分支,这个命令会列出所有远程仓库中的分支。
  • git branch -a
    等于git branch加上git branch -r
  • git branch -vv
    查看所有本地分支和它们所跟踪的远程分支,以及提交差异。
  • git remote show origin
    查看特定远程仓库的仓库信息。

分支的新建、切换与删除

git branch aaa :新建分支aaa
git checkout aaa :切换到分支aaa
git checkout -b bbb :新建并切换到分支bbb
git checkout -b dev origin/dev:创建并切换到一个名为 dev 的本地分支,并将其设置为跟踪 origin/dev。
git branch -d aaa :安装删除分支aaa
git branch -D aaa :强制删除分支aaa

$ git clone https://gitee.com/XXX/vue3
正克隆到 'vue3'...
remote: Enumerating objects: 74, done.
remote: Counting objects: 100% (74/74), done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 74 (delta 7), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (74/74), 完成.
$ 
$ cd vue3
$ 
$ git branch 
* master
$ 
$ git branch -r
  origin/HEAD -> origin/master
  origin/dev
  origin/master
$ 
$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
$ 
$ git branch -vv
* master 84ebdd3 [origin/master: 落后 3] 完成版本1.1
$ 
$ git remote show origin
* 远程 origin
  获取地址:https://gitee.com/XXX/vue3
  推送地址:https://gitee.com/XXX/vue3
  HEAD 分支:master
  远程分支:
    dev    已跟踪
    master 已跟踪
  为 'git pull' 配置的本地分支:
    master 与远程 master 合并
  为 'git push' 配置的本地引用:
    master 推送至 master (最新)
$

配置远程跟踪分支

git clone https://gitlab.xxx.com/frontendgroup/xxx-web
cd xxx-web
git branch -r
git config --get-all remote.origin.fetch
git config --unset-all remote.origin.fetch
git config remote.origin.fetch "+refs/heads/master:refs/remotes/origin/master"
git config --add remote.origin.fetch "+refs/heads/dev:refs/remotes/origin/dev"
git config --get-all remote.origin.fetch
git branch -r
git fetch origin
git branch -r

git操作

git merge --squash jimdev   #不保留提交历史
git merge --no-ff jimdev
git merge --no-commit feature-branch  #保留提交历史
git merge origin/dev  #将origin的dev分支,合并到本地当前所在分支上

git branch -vv
git branch --set-upstream-to=origin/dev jimdev 
git branch --unset-upstream jimdev
git checkout -b new-branch abcd1234
git checkout -b dev origin/dev


git clone --branch master --single-branch https://gitlab.xxx.com/x/xxx-web
git rm -r --cached .
git add .
git status

git fetch origin
git fetch origin main feature-branch
git fetch origin "^ignored_branch"
git fetch --prune origin "^ignored_branch"

git merge --ff-only <branch_name_to_merge>
git merge --no-commit --no-ff jimdev    # good
git merge --squash jimdev

git reset --hard 7bff7b6
git reset --hard HEAD^
git reset --hard HEAD~7
git reflog
git checkout 7bff7b6
#reset和checkout的区别?

git push --depth=1 origin <branch_name>
git push -d 1 origin <branch_name>
git push --depth=1 origin mydev:dev     # 本地mydev,远程dev
#`--depth=1`这会将最新提交推送到远程仓库,并忽略历史记录
git push --set-upstream origin mydev:main
git push --set-upstream gitlab mydev:master
# 一个本地分支可以添加多个远程分支,只能绑定一个上流分支。

git fetch --depth=1 origin dev
git checkout mydev
git merge origin/dev
# 将远程分支dev的最新提交合并到本地分支mydev,并且只获取该远程分支的最近一次提交(即浅克隆)
git fetch --depth=1 origin dev:mydev # 将mydev重置到dev

git fetch的相关命令

git merge的相关命令


获取更多计算机知识,请访问网站:开思通智网
官网地址:https://www.opensnn.com/
“一起来O站,玩转AGI!”

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值