--兵器谱--git学习记录帖--
一、git是个什么?怎么用?有什么好处?
这是小虾米在接触git之前的疑问三连。
在说明git之前,不知各位在学习时有没有一个疑惑:公司里的同一组团队成员共同完成一个项目时,是怎么实现对代码的操作的?
如果没有一个很好的安排和管理,是怎么完成:
1.如何讲一个项目整体分配给小组成员,让他们能在现有的项目基础上调试bug并能及时更新?
2.项目中如何整合各个成员之间已经完成的代码?
3.如何维护不同版本的项目?
... ...
在代码量特别大的项目中,靠人力去维护项目的更新以及人物分配工作实在是太难。
所谓git,就是为了解决这些问题的。
二、git有哪些作用?
所谓版本管理工具——git,他的作用就是为了管理项目的版本。
一个项目,一定有一个相对稳定的当前版本(项目本体),master
git,则可以依据这个主体,建立一个供开发的副本(develop)。团队小组的成员可以通过git,依据develop的项目,建立自己的分支(也是一个个的副本)。
开发成员就可以在各自的分支中进行开发,互不干扰。在完成需求后,git会自动合并更新修改过的文件。
看,git是不是超级好用?
三、git进行管理的结构
能管理这些复杂项目的工具,自身的结构是怎么样的才能很好的完成上述工作?(其实思考一下就会明白)
git的管理结构:
如下图:
git中分为:
workplace 工作区: 对电脑文件夹中本地文件进行操作的位置
staging area 暂存区: 暂存进行修改过的文件
local respository 本地仓库: 自己所操作的分支部分
remote repository 远程仓库: 项目分支的源(可能是主干的另一个分支)
四、具体操作
$ git init
git初始化:给当前文件夹配置.git文件夹。(意思是这个文件夹已经被git征用为本地仓库了!可以使用git进行操作了!)
$ git config user.name
$ git config user.email
配置提交代码的程序员信息。程序员名称,邮箱。(可以添加--global进行全局配置)
$ git add [filename]
向 暂存区 添加变更的文件
$ git status
查看工作区文件状态,查看是否被添加进暂存区
$ git commit -m [info]
向本地仓库提交暂存区文件 和变更说明信息[info]
$ git log
查看提交记录
$ git reset
回退版本
$ git rm [filename] // 删除工作区文件
五、分支操作
$ git branch //列出所有分支内容 $ git branch [branchname] //创建分支 $ git checkout [branchname] //切换分支 $ git merge [originbranch] //合并分支 $ git branch -d [branchname] //删除分支
六、远程操作
$ git remote //远程仓库操作 $ git fetch //从远程获取代码库 $ git pull //下载远程代码并合并 $ git push //上传远程代码并合并
git的合并,会自动将最新的变更文件进行合并,未进行操作过的文件不会合并~