Github
来源:互联网 发布:淘宝 相机回收 靠谱不 编辑:程序博客网 时间:2024/04/29 07:43
一、git是一个分布式代码管理工具,其工作流程如下:
分布式与集中式的最大区别在于开发者可以本地提交。每个开发者机器上都有一个服务器的数据库。
二、git开发过程的步骤如下:
A.一般开发者的角度:
1:从服务器上克隆数据库(包括代码和版本信息)到单机上。
2:在自己的机器上创建分支,修改代码。
3:在单机上自己创建的分支上提交代码。
4:在单机上合并分支。
5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6:生成补丁(patch),把补丁发送给主开发者。
7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8:一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。
B.主开发者的角度(假设主开发者不用开发代码):
1:查看邮件或者通过其它方式查看一般开发者的提交状态。
2:打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如
果是开源项目,还要决定哪些补丁有用,哪些不用)。
3:向公共服务器提交结果,然后通知所有开发人员
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。
三、git 常用命令介绍
git init
创建一个数据库。
git clone
复制一个数据到指定文件夹
git add 和 git commit
把想提交的文件 add 上,然后 commit 这些文件到本地数据库。
git pull
从服务器下载数据库,并跟自己的数据库合并。
git fetch
从服务器下载数据库,并放到新分支,不跟自己的数据库合并。
git whatchanged
查看两个分支的变化。
git branch
创建分支,查看分支,删除分支
git checkout
切换分支
git merge
合并分支,把目标分支合并到当前分支
git config
配置相关信息,例如 email 和 name
git log
查看版本历史
git show
查看版本号对应版本的历史。如果参数是 HEAD 查看最新版本。
git tag
标定版本号。
git reset
恢复到之前的版本
----mixed 是 git-reset 的默认选项,它的作用是重置索引内容,将其定位到指定的项目版本,
而不改变你的工作树中的所有内容,只是提示你有哪些文件还未更新。
--soft 选项既不触动索引的位置,也不改变工作树中的任何内容。该选项会保留你在工作树
中的所有更新并使之处于待提交状态。相当于再--mixed 基础上加上 git add .
--hard 把整个目录还原到一个版本,包括所有文件。
git push
向其他数据库推送自己的数据库。
git status
显示当前的状态。
git mv
重命名文件或者文件夹。
git rm
删除文件或者文件夹。
git help
查看帮助,还有几个无关紧要的命令,请自己查看帮助。
- github
- github
- github
- GitHub
- github
- GitHub
- GitHub
- github
- github
- github
- github
- GitHub
- GitHub
- Github
- github
- github
- github
- GitHub
- Linux 标准目录结构
- dom4j操作XML文件
- QWSInputMethod类参考
- MySQL学习笔记-数据类型
- svn文件冲突,树冲突详解
- Github
- 如何在论坛发布外链的方法技巧
- quickcocos2dx framework
- 带你了解WiFi共享精灵的共享模式
- Apache ZooKeeper入门3
- 【LeetCode】Climbing Stairs
- LeetCode 22 — Generate Parentheses(C++ Java Python)
- 生成一定范围内的真随机数
- javac 找不到bitmap的解决办法