Git仓库介绍
Git仓库分为本地仓库和远程仓库,及时是从远程clone下来的仓库,它在本地也是独立的,它包含了你所clone分支的所有源代码和历史记录,可以方便的在本地进行操作。
Git天生就是分布式的,本地仓库中可以完成checkout、stage、commit、reset、log等操作,这是一个源码管理系统的最常用功能,即便是断网的情况下,也可以使用本地的仓库查看历史记录、提交源码、合并分支。
分支是Git的一大亮点,与VSS、SVN、TFS不同的是,Git可以快速的在本地创建分支,通常是在瞬间完成的。
查看分支:
git branch
该命令可以查看本地分支,也可以使用参数 -a 查看所有分支。
上图中可以看到所有本地分支和远程分支,其中带 * 号的分支为当前的工作区使用的分支。
创建分支:
git branch future#a
上面的代码演示了创建名称为future#a的分支
迁出分支:
git checkout future#a
以上两个命令实现了创建并使用分支future#a的功能,它们还可以简化为一条指令:
git checkout -b future#a
在checkout的时候添加命令 –b 即可创建并使用该分支。
删除分支:
git branch –d future#a
当我们完成一个分支的开发,并完成合并后,可以使用-d命令删除分支。此时,如果分支未完成合并,删除时会提示失败。
如果要强制删除分支,可以使用命令-D来实现。
提交分支:
git commit future#a
使用commit指令可以提交当前工作区被跟踪的更改。
合并分支:
git merge future#a
使用merge指令,可以实现分支的合并。
远程操作:
以上命令都是基于本地进行操作的,并不会影响到远程的源代码。当我们完成代码后,需要将本地源码提交到远程库中,此时需要使用push指令,从远程拉去源代码需要使用pull指令。
git push –-set-upstream origin future#a
上面的代码演示了本地新创建的分支推送到远程分支。如果已经建立了远程的关联,则只需要使用git push即可。
git pull origin dev
上面的代码演示了从远程拉取dev分支,要使用拉取的分支,只需要使用checkout指令即可。
演练:
根据本地dev分支创建future分支,推送到远程仓库,开发完成后合并到dev分支,并删除future分支。
- 签出dev分支
git checkout dev
- 创建future分支,注意future的命名格式,以future开头,#分割,并使用新功能简要描述。
git checkout -b future#caching
- 提交future分支,并推送到远程仓库
git add . #将修改的文件添加到暂存区 git commit #提交到本地仓库 git push –-set-upstream origin future#caching #推送远程仓库
- 合并到dev分支
git checkout dev #切换到dev分支 git merge future#caching #合并future分支 git push dev #合并完成后推送dev分支
- 删除future分支
git branch –d future#caching #本地删除future分支 git push origin :heads/future#caching #从远程删除future分支
建议先在本地使用命令行进行练习,熟练可以看各个指令对应的可视化工具,目前我们使用过的可视化工具有GitExtensions/VisualStudio/VSCode等,所有可视化工具都是对git的封装,最根本的还是要掌握命令行的操作。
参考文档:https://git-scm.com/book/zh/v2