what/why

通常情况使用git clone github_repository_address下载下来的仓库使用git branch查看当前所有分支时只能看到master分支,但是想要切换到其他分支进行工作怎么办❓

其实使用git clone下载的repository没那么简单😥,clone得到的是仓库所有的数据,不仅仅是复制在Github repository所能看到的master分支下的所有文件,clone下来的是仓库下的每一个文件和每一个文件的版本(也就是说所有的分支都被搞下来了咯),那为啥看不到,其实remote branch被隐藏了,需要使用git branch -a才能看到。

how

emmm…,现在看到了,那么怎么切换到remote branch呢?(我太难了🙃),又到了查文档的时候了,一波操作过后了解到git checkout是有restore working tree files的功能的,可以用来restore remote branch,比如使用以下命令在本地创建个新分支track远程分支:

1
$ git checkout -b <branch> --track <remote>/<branch>
1
2
# 例子,本地为远程分支CkaiGrac-PYMO创建的新分支名为yeshan,push时需要注意
git checkout -b yeshan --track origin/CkaiGrac-PYMO

tips:使用git checkout -t <remote/branch>默认会在本地建立一个和远程分支名字一样的分支

reference

Git

最近在弄一个东西,基本的功能已经弄好了,现在想再扩展一起其他功能,但这样势必会改动原有代码,我又不想破坏原有的代码逻辑,方便以后查看。记得Git有个分支工作流可以很好的满足我的需求(๑•̀ㅂ•́)و✧。emmm,很久没发文了,record一下吧。(ノへ ̄、)

使用到的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
$ git branch # 显示所有本地分支
$ git branch <new branch> # 创建新分支
$ git checkout <branch> # 切换到指定分支
$ git branch -d <branch> # 删除本地分支
$ git push --set-upstream origin <branch> # 将本地分支与远程分支关联
$ git push origin --delete <branch> # 删除远程分支

$ git tag -n # 列出所有本地标签以及相关信息
$ git tag <tagname> # 基于最新提交创建标签
& git tag <tagname> -m "备注信息" # 基于最新提交创建含备注信息的标签
$ git tag -d <tagname> # 删除标签
$ git push orign <tagname> # 将指定信息推送到远程仓库
$ git push --tags # 推送所有标签到远程仓库

操作~操作

https://img.vim-cn.com/00/950a7bad9cc5835194268fce6d40a444b7cfcc.png

emmm,顺便试试tag

https://img.vim-cn.com/a4/26dbcd8ed54643c057193aa14d15ade7ef2358.png

Git

如何将本地项目推送到Github

Tip:在本地要安装好Git,官网:https://git-scm.com/

kzni4K.png

一个学习Git的好地方:https://try.github.io/

在线闯关实战,边练边学的好地方:https://learngitbranching.js.org/

方法一:使用https推送

1
2
3
4
5
6
7
8
9
10
11
12
13
# 步骤
# 1.创建一个目录
mkdir Test
# 2.将当前目录变为git管理仓库
git init
# 3.将文件添加到版本库,这里将目录下的所有文件都添加进去了
git add .
# 4.告诉git将文件提交到仓库
git commit -m "first-commit"
# 5.将当前仓库与远程仓库关联
git remote add orign 远程仓库的https地址 # eg: git remote add https://github.com/ssmath/Test.git
# 6.将仓库内master分支的所有内容推送到远程仓库,这里会使用到Github的账号密码
git push -u orign master
Git

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Material X 作为主题 , 总访问量为 次 。