git代码协同管理工具

代码协同管理工具

SVN   GIT

什么是git

git是一个开源的分布式版本控制系统。用于高效敏捷的管理大小项目代码。

git特点

* git 可以管理各种文件,特别是代码项目。多使用在*nix系统中
* 是分布式管理,不同于集中管理。这是git和svn的核心区别
* 更好的支持分支
* 拥有全球唯一的版本号
* 代码安全性更加有保证
* 开源方便,数据传输速度更快,可以无网络操作

集中式和分布式

集中式 : 代码集中管理,需要上传到中央服务器。每次更新都从中央服务器下载。 (svn)

分布式 : 每个节点都保存完整的代码,没有中央服务器。节点之间相互推送下载完成代码共享。 (git)

git的安装

linux下
sudo apt-get install  git

windows : msysgit.github.io

git的配置

git配置工具 :  git config

配置级别
1. 系统中所有用户都使用 
   /etc/gitconfig 文件
   
   配置姓名
   git  config  --system  user.email [youremail]

   e.g.
   sudo git config --system user.email lvze@tedu.cn

2. 作用于当前用户
   ~/.gitconfig 文件
    
    配置邮箱
    git  config  --global  user.name [yourname]
    
    e.g.
    sudo git config --global user.name Levi

3.  作用于当前项目仓库 
     .git/config
     
     配置编译器
     git config core.editor  [youreditor]
     
     e.g.
     git config core.editor  vim


查看配置信息
git config  --list

git 命令

* 初始化git仓库
git  init 

将需要git管理的代码写在git仓库(目录)中

* 查看当前分支状态
git  status

默认在git的主分支 master上工作

* 将文件提交到暂存区
git  add   file1,file2

* 删除暂存区中的文件
git rm --cached file  

* 将暂存区内容保存提交
git commit  -m  ‘some message’
e.g. git commit -m  "add a file:README.txt"

* 查看提交日志
git log
git log --pretty=oneline  每个之日只显示一行


* 查看当前文件和已提交内容的差别
git  diff   file
e.g.
git diff README.txt

* 恢复误删的文件
git checkout file

e.g.
git checkout README.txt

文件的移动删除
 git mv test/file.config  .
 git rm file.config 

操作后需要commit操作才真正让git和当前文件夹一致


版本控制

* 回到上一个版本

git reset  --hard  HEAD^

回到上一个版本就一个 ^  回到上两个版本就两个^^
超过10 就 HEAD~10

直接通过commit_id 前7位调到某个版本
git reset  --hard  7764c27

*去往较新的版本
当退回到某个版本后,比其新的版本log就无法通过git log查看 此时使用git  reflog查看,然后通过
git reset --hard  去往指定版本

git reflog


* 放弃工作区内容修改
git checkout -- file

e.g.
git checkout -- README.txt


* 创建临时保存工作区

内容暂时保存不想提交 (没有commit的情况下,如果已经commit就没有意义了)

git stash

查看现有保存的工作区
git  stash  list

恢复到某个工作区
git stash apply  stash@{2}

恢复并删除上一个工作区
git stash  pop

删除指定的工作区
git stash drop  stash@{0}

清除工作区
git stash clear


分支操作

什么是分支
分支即每个人可以获取代码,在此基础上创建自己的分支单独开发,不用考虑别人对代码的使用情况。开发完成后再将自己的分支合并到主线中。

好处 : 安全,不影响其他人工作,自己控制进度

查看当前分支
git branch

注意 : 前面有*的表示当前正在工作的分支 默认为master

创建新的分支
git branch dev_Tom

切换工作分支
git checkout dev_Tom

创建并切换到新的分支
git checkout -b dev_Jame

将某个分支合并到当前分支
 git merge dev_Tom

删除分支 
-D为强制删除,没有被合并的分支不允许用-d删除

git branch -d dev_Tom
git branch -D dev_Jame

查看操作流程
git log  --graph


标签管理

什么是标签 : 即再当前工作位置增加快照,保存工作状态。一般用于重要里程碑事件后添加标签

创建标签

在最新的commit上打标签
git  tag   v1.0  

选择commit_id打标签
git  tag  v0.9  6224637

查看标签
git  tag

查看标签的 commit 说明
git show v0.9

用-a指定标签名称  -m添加标签信息
git tag -a v1.1 -m 'version 1.1 released' [commit_id]

删除标签
git tag -d v0.9

恢复到指定标签版本
git  reset  --hard  v1.0


创建共享仓库
1. 创建一个文件夹
   mkdir  gitrepo
2. 设置文件夹的用户所属
   chown  tarena:tarena  gitrepo
3. 进入文件夹,创建为git仓库
   cd  gitrepo
   git init --bare  project.git
4. 一般项目名称都以.git结尾,设置该目录用户
   chown -R tarena:tarena project.git

添加远程仓库
git remote add origin tarena@127.0.0.1:/home/tarena/gitrepo/project.git

向远程仓库推送代码
git push -u origin master
* 第一次推送代码时加  -u 选项

获取项目代码 
连接远程共享仓库
git remote add origin tarena@127.0.0.1:/home/tarena/gitrepo/project.git

将项目克隆到本地
git clone tarena@127.0.0.1:/home/tarena/gitrepo/project.git


其他推送命令

推送其他分支
git push origin dev_Jame

推送标签到远程仓库
git push origin --tags  推送所有标签
git push origin v1.0  推送指定标签

删除远程分支
git push  -u  origin :dev_Jame

删除标签
git push  origin --delete tag v1.0


其他获取远程仓库代码命令

获取新的分支和标签
git fetch origin

获取更新的代码
git pull


github

08年上线的一个开源社区,使用git作为项目代码管理工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
然之协同系统是一款针对中小微企业开发的协同办公系统,内置了客户管理、销售跟踪、日常办公等功能模块,涵盖了中小企业信息化管理最常见的功能。源代码开放。 详细介绍: 大家好,然之协同1.3beta正式发布了,这次升级完善了客户管理、记账等功能,新增公共客户池概念和客户指派功能。现金流方面增加了账目导入功能记账更方便。另外还有头像上传等其他功能添加。 一、修改记录 1、客户增加公有私有的限制 客户增加检索标签 2、客户指派 3、客户沟通页面可以直接添加联系人 4、客户的状态使用枚举类型,方便排序 5、客户详情页面增加相应信息的链接 6、客户详情页面增加相应的链接 7、实现帐目导入的自定义功能 8、实现帐目的导入功能 9、实现帐目的批量编辑功能 10、实现批量记账功能 11、OA的任务区块也增加新的检索条件 12、为客户创建联系人的时候,打开默认是新建页面,其次才是关联 13、为客户新建联系人的时候,把电话也放出来 14、产品增加详情页面 15、完善了客户、订单、合同、联系人相关操作的日志 16、使用颜色来区分不同状态的客户、订单和合同 17、修改付款帐号的区块显示,不用表格 18、修改系统内置应用的中文名称 19、出现用户名的地方都统一显示真实姓名 20、创建合同的时候需要记录日志 21、单点登录验证改为url跳转方式 22、解决各应用首页的区块不能删除的bug 23、合同回款完成后,客户状态自动修改为已付款 24、合同增加货币设置 25、合同的状态使用枚举类型,方便排序 26、合同的详情页面增加相应信息的链接 27、合同页面增加相应的链接 28、后台应用添加页面调整 29、后台维护应用的时候可以设置应用的排序 30、增加项目首页 31、如果是系统内置应用的区块,直接用系统调用 32、如果是系统内置应用的区块,直接用系统调用 33、安装系统的时候增加语言设置功能 34、对账时如果没有余额记录提示并跳转到登记余额页面 35、应用如果已经打开时,再次点击应当保留应用状态 36、弹出的窗口esc的时候要判断当前的焦点是否是body 37、桌面区块增加隐藏操作 38、桌面应用添加区块的时候可以支持所有的内置应用 39、激活订单时重置相应的字段 40、点击左下角桌面的用户图标出现的菜单当失去焦点后可以隐藏 41、点击左下角的所有应用菜单,会覆盖整个窗口 42、然之去掉响应式布局 43、然之管理后台footer需要处理 44、版块列表增加有无新帖的显示 45、现金流增加供应商的功能 46、用户头像管理功能 47、登录之后保持原来的应用状态 48、登录的时候增加语言切换功能 49、编辑合同的æ¶候需要处理对应订单的状态 50、联系人二维码名片功能 51、联系人的详情页面增加相应信息的链接 52、联系人详情页面增加相应的链接 53、订单、客户或者联系人沟通的时候给一个下次联系时间的选项 54、订单列表页面状态如果是关闭时显示关闭原因 55、订单增加检索标签 56、订单增加货币设置 57、订单详情页面增加相应信息的链接 58、订单详情页面增加相应的链接 59、订单,合同,客户区块增加新的检索条件 60、记录每个对象的最后编辑者和编辑时间 61、记录沟通日志的时候需要更新相应的最后联系时间 62、调整现金流应用的配色 63、调整通讯录、帐号、论坛等页面的样式 64、重构区块功能 65、非系统内置应用去掉右上角的控制按钮 66、项目增加完成功能 67、项目增加起止时间、描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值