git——合作开发工具的使用

一、GIT的理解

  • SVN的分支是复制一个文件,且可以在任何地方(文件夹A内、文件夹B内…)提交修改
  • git的分支是记录每次的修改,切换分支就是将HEAD指向那个分支
  • git分为工作区 —> 暂存区 ----> 分支
  • 工作区 使用add 进入暂存区
  • 暂存区 使用commit 提交

二、安装git

访问官网 https://git-scm.com/ ,下载后傻瓜式安装即可,没啥特别注意的地方。(打不开网页的话,试试万能的手机热点)

三、基于git的软件有哪些

  1. github 最常用的软件,但是国外网,用起来卡卡的
  2. gitlab 一般企业用的,私密性很不错
  3. gitee 国内的软件,速度快就是了

四、日常使用

远程仓库环境: master 分支 、 develop分支
本地仓库环境: 无任何分支

  1. 在本地克隆远程仓库
# 一、从远程仓库克隆一个
# 1:HTTPS方式 , 需要登下用户名和密码
git clone https://xxxxxxxxx.com/xxxx.git

# 2:SSH密钥方式  , 需要提前弄个私有、公有密钥的
git clone git@xxx.com:xxx/xxxx.git

  1. 创建一个本地分支 develop,并追踪远程的develop分支
git checkout -b develop  origin/develop

之后会出现如下提示,代表追踪成功
Branch 'develop' set up to track remote branch 'develop' from 'origin'
  1. 更新本地分支
# git pull = git fetch + git merge
# 更新指定分支
git pull  origin develop  :  develop

#更新全部分支
git pull

  1. 提交修改到远程develop分支
# 记得先切换到本地develop分支
git add   xxx.txt   #  执行后,文件从工作区进入到暂存区
git commit  -m '我的第一次提交'   # 确认暂存区里的内容
git push  origin  develop  
  1. 撤销工作区的修改 (本地改了,但是还未 git add )
# 因为是撤销工作区的修改,所以在哪个分支下都行
git checkout --  xx.txt

# IDEA中可以直接右击文件--git--ROLL BACK,效果一样
  1. 撤销暂存区的修改(已经git add)
git reset HEAD      或者      git  reset  HEAD  xx.txt
# HEAD一般指向该分支的最新一次的commit记录
  1. 其他
# 以后提交、生成密钥是都会用到
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

# 设置本地仓库的远程仓库信息
git remote add  新别名  远程仓库地址

# 查看远程仓库信息
git remote -r

git checkout -b  newBranch  #  新建分支,同时切换到该分支下
git branch -d  b1  # 删除分支b1

  1. IDEA中设置ignore
    (1)右击项目,新建.ignore文件
    ** 对于有些已经被track的文件,就算写在.ignore文件中,也不会生效,此时执行以下命令即可:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'

五、注意事项

1.本地分支一定要和远程分支关联起来,不然会提示“未关联…”
2.建议本地分支和远程分支名字相同

六、工作流程 ---- git flow

使用git flow可以创建本地的工作流程,工作流程可以帮助我们管理我们本地的开发,也就不需要再checkout+pull、checkout+push…

具体步骤如下:
(1) git flow init
执行该命令后,需要我们指定工作流程中的 master 和 develop,之后我们就可以创建hotfix、release、feature、bugfix…

注意:这里的develop是指我们现在在用的分支,而master是我们结束流程开发后,git自动提交合并的分支。

(2)git flow feature start newbranch01
我们创建了工作流程中的一个feature分支,名为newbranch01。

(3)
git add .
git commit -m ‘提交本地内容至暂存区’
git flow feature finish
结束当前的feature分支

此时注意看下图。下图可以理解为我们用 git flow xxx start fenzhi1 命令创建新分支时,如果创建的是 hotfix、release,那么这个分支是基于master的,如果创建的是feature分支,那么这个分支是基于develop的。
什么意思呢? 就是说我们开发完后,执行比如 git flow xxx finish fenzhi1的时候,他会帮我们合并到哪里去。 hotfix这些,就是合并到工作流程中的master,feature这些,就是合并到工作流程中的develop。

在这里插入图片描述
*feature 新功能
*hotfix 紧急修复(bug)
*release 用于发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值