学习笔记-git

git篇

将本地文件夹上传到远程仓库,并新建分支

转自https://blog.csdn.net/qq_35531985/article/details/107667639
1、首先在你要上传的本地文件夹内,右击鼠标,git bash here
2、初始化本地仓库
git init
3、将文件夹中代码添加到本地仓库
git add .
提交
git commit -m "提交说明"
5、建立本地分支Testbranch(该分支是基于master创建的,所以只有做完步骤3、4才可以建立分支)
git branch Testbranch
6、切换到新建分支Testbranch
git checkout Testbranch
7、将本地仓库与远程仓库建立
git remote add 仓库名 仓库链接
8、将本地分支上传到远程仓库,并新建分支远程Testbranch
git push --set-upstream 仓库名 Testbranch




动画学 git https://learngitbranching.js.org/?locale=zh_CN

  • git
# 将bugFix分支 merge 到 main
$ git checkout -b bugFix
$ git commit
$ git checkout main
$ git commit
$ git merge bugFix

# rebase     可以看这个 https://blog.csdn.net/hudashi/article/details/7664631    http://gitbook.liuhui998.com/4_2.html
# git rebase [basebranch] [topicbranch] 命令可以直接将特性分支rebase到目标分支上。这样做能省去你先切换到 server 分支,再对其执行rebase命令的多个步骤。https://www.php.cn/faq/417809.html
$ git checkout -b bugFix
$ git commit
$ git checkout main
$ git commit
$ git checkout bugFix
$ git rebase main

# 提交树
# 使用 ^ 向上移动 1 个提交记录
# 使用 ~<num> 向上移动多个提交记录,如 ~3

# 我使用相对引用最多的就是移动分支。可以直接使用 -f 选项让分支指向另一个提交。例如:
git branch -f main HEAD~3
# 上面的命令会将 main 分支强制指向 HEAD 的第 3 级父提交

# 撤销变更
# 撤销变更由底层部分(暂存区的独立文件或者片段)和上层部分(变更到底是通过哪种方式被撤销的)组成。我们这个应用主要关注的是后者
# 当前分支是 c1->c2
git reset HEAD~1
#  Git 把 main 分支移回到 C1;现在我们的本地代码库根本就不知道有 C2 这个提交了。
#(译者注:在reset后, C2 所做的变更还在,但是处于未加入暂存区状态。)
# git reset 很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的
git revert HEAD  # 这种会多一个 c2 ' 分支

# 自由修改提交树
# 将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式
git cherry-pick c2 c4
# 交互式 rebase 指的是使用带参数 --interactive 的 rebase 命令, 简写为 -i
git rebase -i main~4

# 标签
git tag v1 c1  
# v1是标签

# git describe 的​​语法是:
# git describe <ref>
# <ref> 可以是任何能被 Git 识别成提交记录的引用,如果你没有指定的话,Git 会以你目前所检出的位置(HEAD)。
# 它输出的结果是这样的:
# <tag>_<numCommits>_g<hash>
# tag 表示的是离 ref 最近的标签, numCommits 是表示这个 ref 与 tag 相差有多少个提交记录, hash 表示的是你所给定的 ref 所表示的提交记录哈希值的前几位。
# 当 ref 提交记录上有某个标签时,则只输出标签名称 

git branch bugWork main^^2^
# 两个父节点时候做法
posted @ 2021-11-06 15:15  种树人  阅读(33)  评论(0编辑  收藏  举报