主要是介绍git的一些概念和常用的命令行。虽然现在常用的ide要么自带git客户端,要么有git可视化插件,很方便,但是如果仅仅依赖这种git客户端,在遇到新的ide的时候,处理一些复杂的git命令还是需要重新找该插件的文档,不如掌握命令行,更具有通用性。
工作区、暂存区、版本库
理解git工作区、暂存区和版本库的概念有利于git的使用
- 工作区 : 用来编辑保存项目文件的地方,也是用户能直接操作到的地方。
- 暂存区 : 英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库 : 也叫本地版本库,使用git commit 就是把暂存区的内容提交到这个本地的版本库。
以vscode开发为例,我们提交文件通常两步
- 我们会先使用git add,把他们添加到暂存区
- 使用 git commit,把暂存区的内容提交到本地版本库
这时候我们的代码资源就保存在本地的版本库里了。
分支(branch)
在开发中经常需要多个分支来满足开发的需求。
比如创建一个新的分支,分支名为mvpInject
git branch mvpInject
查看分支
git branch
用上面的命令可以查看已经创建的分支
切换分支
git checkout master
比如要删除刚刚创建的mvpInject分支
git branch -d mvpInject
分支合并
先将分支切换到master分支,然后运行下面的命令,将mvpInject分支合并到master分支
git merge mvpInject
远程仓库
本地仓库和远程仓库进行关联
上面是在操作本地仓库,但是实际项目中,需要与别人协作,这就需要一个远程仓库。
将本地仓库和远程仓库进行关联
git remote add origin git@xiangmuming.git
origin是远程仓库的名字,Git默认的叫法,git@xiangmuming.git是远程仓库的地址,这样就把本地仓库和远程仓库关联起来了
将本地仓库的内容推送到远程仓库
git push <远程仓库名> <本地分支名>:<远程分支名>
git push origin master
origin:远程仓库名字; master:本地分支的名字,将本地的master分支推送到origin仓库的master分支。如果master不存在,则会被新建。
实际上第一次把本地内容推送到远程会使用如下命令
git push -u origin master
相当于
git push origin master
git branch --set-upstream master origin/master
将本地仓库master分支的内容推送到远程仓库的master分支,同时将他们关联起来,以后每次推送都可以使用git push 了
远程分支的操作
创建远程分支
git push origin mvpInject
删除远程分支
git push origin :mvpInject
版本回退
回退到指定版本
git checkout '要回退的版本号' -b branchA
git reset --soft 'mater分支最新的版本号'
git commit
回到主分支 git checkout master
分支合并 git merge branchA
git push
参考
网友评论