Git版本控制

来源:互联网 发布:微信公众平台asp源码 编辑:程序博客网 时间:2024/06/03 22:51

一、概念:

Git是用于Linux内核开发的版本控制工具,它采用了分布式版本库的做法。不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。

分布式版本库:简单的说就是其内部的一个元件坏掉,不会影响程序的正常进行。其它元件会代替坏掉的元件来完成之前要做的这个事情。


二、Git服务器的搭建:

  • 首先安装下载Git客户端软件(附加)。Git客户端
  • git服务器的搭建,使用gitblit作为git服务器。此时要开启服务器。Git服务器
  • 进入服务器管理平台,https://localhost:8443。登录进入,用户名密码默认:admin
  • 创建远程版本仓库,只书写名字即可。
    创建好的仓库
  • 创建用户。
    创建用户
  • 给用户分配权限。
    权限设置

三、Git命令进行项目版本控制

  • 创建本地仓库,在已有项目的文件夹下,也就是Project下。右键鼠标找到Git Bash Here。
    命令行窗口

clear:清理上面信息
git init:初始化本地仓库。此时项目下会有一个隐藏文件.git 隐藏的.git文件,本地仓库

git add *:提交本地代码到暂存区
git commit -m ‘init git’:提交本地代码到本地仓库,’init git’填写的说明
这里写图片描述

  • 把本地仓库链接到远程版本库,首先拿到远程仓库的地址。https://localhost:8443/r/xuexiku.git。如果链接成功的话,.git下有个config文件中会出现。url = https://localhost:8443/r/xuexiku.git

git remote add origin https://localhost:8443/r/xuexiku.git:本地仓库链接到远程仓库

推送到远程仓库了

  • 推送本地仓库到远程仓库

git push origin master:推送本地仓库到远程仓库,这个时候是需要输入之前设置的用户名和密码的

推送本地仓库到远程仓库
此时的远程仓库就会有变化了:
提交远程仓库的变化

  • 如果这个时候a.txt文件里面内容发生了变化。开发之后状态,需要查看当前的状态

git status:查看当前项目里面变化情况

状态的改变

  • 此时a.txt发生了改变,要想继续推送到远程仓库。所以还需要再次把a.txt添加到暂存区,然后再添加到本地仓库

git commit:会弹出来让你自己输入信息

提交暂存和本地

  • 这个时候可以进行推送到远程服务器了,但是在推送之前要进行拉取一下最新代码,看是否有冲突

git pull origin master:进行拉取服务器代码,看是否有冲突

这里写图片描述

  • 此刻,没有冲突了,再推送到服务器。

git push origin master:进行推送,用不同的人进行提交

再次推送远程服务器

  • 来新员工了,开始进行克隆。在自己桌面建一个文件夹。在这个文件夹下面,打开命令行工具。

git clone https://@localhost:8443/r/xuexiku.git:从服务器克隆了一份代码

修改内容

  • 李四开发后,当前状态肯定是修改状态,必须在当前项目下打开命令行,才可以查看状态,以及提交操作,需要继续添加到暂存中,再提交到本地。

git status:查看状态
git add a.txt:添加暂存中
git commit -m ‘lisi update content’:添加到本地中
git pull origin master:拉取服务器最新的
git push origin master:推送最新的到服务器

查看状态,添加暂存,添加本地,拉取服务器最新的、推送新的

  • 此时张三做一样的操作,同样修改了a.txt文件的第三行。

git status:查看状态
git add a.txt:添加暂存中
git commit -m ‘zhangsan update content’:添加到本地中
git pull origin master:拉取服务器最新的结果冲突了

状态、暂存、本地、拉取最新的冲突了

  • 这个时候可以用一个命令打开冲突的解决方案。

git mergetool:打开图形化的合并界面
y:打开

冲突的命令

合并完之后,记得再次提交到暂存,本地,拉取,推送,查看状态

  • 能够查看每次提交之后的一个代码分支树形结构

gitk –all:查看代码分支的结构

代码结构

  • 创建分支,默认有一个master分支,在实际开发过程中,通常会创建一个开发分支,用来进行版本的迭代开发。创建分支之前,一定要保证当前本地内容和远程内容保持一致。

git branch dev:创建开发分支,dev是分支名称
git branch:查看分支
git checkout dev:切换分支
git branch:再查看

创建新的分支

  • 在哪个分支下,创建的文件。就在哪个分支下能够找到

git checkout dev:切换到dev(开发)分支下
ls:查看当前分支下的文件

查看分支下的文件

  • 把创建的分支中的文件,一起推送到远程仓库中

git push origin dev:把开发分支推送到远程仓库中

推送本地分支到远程仓库

  • 此时,其它员工也要在这个分支下进行开发,就需要从远程仓库克隆下来了。

git clone https://localhost:8443/r/xuexiku.git:克隆别人上传有dev的分支的代码
cd xuexiku/:进到这个项目下
ls:查看当前项目下看是否有dev下添加的文件
git branch:查看当前分支
git checkout -b dev origin/dev:检索到远程仓库中的dev分支
git branch:查看当前分支
ls:查看当前分支下是否有之前别人在dev分支下添加的文件

检索下dev分支

  • 如果在同时开发过程当中,那么再有冲突了,继续解决就行了。解决完后,开发完成。需要合并分支。在合并分支dev-master,首先要切换到master分支中。

git branch:查看当前分支
git checkout master:切换到master分支中
git merge dev:合并dev分支到master分支中
git branch:此时为合并完成的master分支
ls:查看是否有之前在dev中开发的文件了
git add *:把所有在master分支下的文件添加到暂存中
git commit -m ‘merge dev’:提交到本地仓库
git push origin master:推送到远程仓库中

合并分支dev到master

  • 创建tag,防止代码的丢失,使用标签恢复代码

git tag -a v1.0 -m ‘di yi ge version 1.0’:创建1.0版本的标签
git tag:查看标签
git push origin –tags:把tag标签推送到远程仓库中
git log:可以查看每次提交的历史记录

创建tag

  • 修复开发中忘记添加常见的忽略文件,一定要在当前master分支下,也就是所谓的没有忽略的那个文件夹在的分支中

git branch:查看所在的分支
git rm -r –cached build/:移除该分支中,本地文件夹下的文件
git status:查看当前状态
git add .gitignore:把忽略文件从AS中拷贝到项目下,添加到暂存中
git commit:提交到本地仓库
git push origin master:推送到远程仓库

解决忽略文件没有添加上

  • 如果使用命令行git出现ssl认证失败了,可以使用如下命令行解决

git config –global http.sslVerify false:解决ssl问题

解决问题ssl


四、Android Studio进行Git版本控制:

  1. 进行AS版本控制之前一定要指定客户端的路径
    As中使用git客户端路径
  2. 远程仓库创建好放在那里
    远程仓库
  3. 创建本地仓库
    本地仓库
  4. 此时代码会变红色
    代码变红
  5. 添加到暂存区中,忘记了忽略文件
    添加到暂存区
  6. 代码会变绿色
    代码变绿色
  7. 添加到本地仓库,忘记了忽略文件
    添加到本地
  8. 添加到本地时候,不要勾选下面画线地两个
    添加到本地不勾选
  9. 添加完之后,颜色变为正行状态。此时把该忽略的文件添加到本地了。所以需要通过代码来进行忽略不该添加的忽略文件。首先在As中项目下打开根路径,进去项目中。打开命令行工具。把ides/下的东西都删了。然后把As的.idea放在工程下的.gitignore
    用命令行解决没忽略的文件
  10. 这个时候可以往服务器进行推送了,将本地仓库推送到远程仓库中。需要给远程仓库指定用户,并设置权限。在推送之前要进行拉取远程服务器。
    拉取服务器内容
  11. 推送本地仓库到远程服务器
    推送本地仓库到远程仓库
  12. 用As可以创建分支
    创建分支
  13. 创建完之后。会自动切换到当前创建的分支,这是在本地创建的开发分支,需要Push到远程仓库中
    开发分支
  14. 此时在dev开发下就行开发了,修改开发后。需要add,commit, pull, push
  15. 又来一个新员工了,开始克隆代码了,就行开发
    进行克隆
  16. 远程地址一定要对
    远程克隆
  17. 新圆工一定要在dev和令外一个人在一个开发分支下 进行开发
    切换分支
  18. 如果都在开发,有冲突了。进行merge。先添加服务器的。再添加你的。然后必须在add,commit,pull push
    合并
  19. 打标签
    打标签
  20. 具体内容
    具体标签内容
  21. 推送本地标签到远程仓库
    推送标签
原创粉丝点击