Git命令简记
一,git 的几个区
1.index 暂存区,又叫索引
2.repository 本机仓库(正式区)
3.remote repository 远程仓库
4.objects版本库,.git文件夹,包含各种对象和内容,所谓的Head和index暂存区应该都是指向该区域对象的索引吧,Head指向的对象和内容就是当前的分支头,index指向的对象和内容就是目前暂存的文件,还包括配置文件,如远程仓库的地址
二,git常用命令
git init * 创建本地仓库
git clone * 将整个仓库包括所有的分支信息复制在本地一份,一个新的分布式节点
git add * 本地缓存增加文件
git commit * 缓存向本地仓库增加信息
git push * 向远程仓库增加信息,也只会推送本地当前分支
git fetch * 拉取到本地但不合并
git pull * 拉取到本地并合并,只会合并当前分支,等于fetch + merge
git merge * 合并
git branch * 分支管理
官方文档:We use branches to experiment and make edits before committing them to main.
git checkout <本地分支名> 切换本地分支
三,命令详解
分支
git clone
会下载下来所有的分支信息,本地可以切换分支
通过branch -a
查看的所有分支也是在此时下载下来的,后续有删除和增加分支的情况,本地是看不到的
可以通过 git remote update origin --prune
同步本地分支与远程一致
通过git fetch
也可以更新分支,但不会删除本地的分支,只会拉取新的分支
Pull和Push指定分支
在关联了本地分支和远程分支后,可以直接使用git pull
和git push
这两个命令其实是省略了,写全的话如下:
git pull origin <远程分支名>:<本地分支名>
git push origin <本地分支名>:<远程分支名>
关联分支的方法
git push -u <本地分支名> //将本地分支与远程同名分支相关联
git branch --set-upstream-to=origin/<远程分支> <本地分支>
git branch -b <本地分支名> origin/<远程分支名> //创建本地分支的时候关联,前提是有提前pull过分支信息
git pull origin <远程分支>:<本地分支> //拉取远程分支的时候顺便创建分支与之关联
四,用例
在指定分支下进行开发任务,结束推送到指定分支
远程先建立分支
git remote update origin --prune
同步分支,或直接git pull
也会拉取新的分支信息
由于此时还没有本地分支,所以不能直接git checkout 本地分支名
直接进行切换
使用git checkout -b <本地分支名> origin/<远程分支名>
先建立本地分支,绑定本地和远程分支
之后的push就会直接将当前开发的分支推送到绑定的远程指定分支