Git版本控制
来源:互联网 发布:微信公众平台asp源码 编辑:程序博客网 时间:2024/06/03 22:51
一、概念:
Git是用于Linux内核开发的版本控制工具,它采用了分布式版本库的做法。不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。
分布式版本库:简单的说就是其内部的一个元件坏掉,不会影响程序的正常进行。其它元件会代替坏掉的元件来完成之前要做的这个事情。
二、Git服务器的搭建:
- 首先安装下载Git客户端软件(附加)。
- git服务器的搭建,使用gitblit作为git服务器。此时要开启服务器。
- 进入服务器管理平台,https://localhost:8443。登录进入,用户名密码默认:admin
- 创建远程版本仓库,只书写名字即可。
- 创建用户。
- 给用户分配权限。
三、Git命令进行项目版本控制
- 创建本地仓库,在已有项目的文件夹下,也就是Project下。右键鼠标找到Git Bash Here。
clear:清理上面信息
git init:初始化本地仓库。此时项目下会有一个隐藏文件.gitgit 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-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:推送到远程仓库中
- 创建tag,防止代码的丢失,使用标签恢复代码
git tag -a v1.0 -m ‘di yi ge version 1.0’:创建1.0版本的标签
git tag:查看标签
git push origin –tags:把tag标签推送到远程仓库中
git log:可以查看每次提交的历史记录
- 修复开发中忘记添加常见的忽略文件,一定要在当前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问题
四、Android Studio进行Git版本控制:
- 进行AS版本控制之前一定要指定客户端的路径
- 远程仓库创建好放在那里
- 创建本地仓库
- 此时代码会变红色
- 添加到暂存区中,忘记了忽略文件
- 代码会变绿色
- 添加到本地仓库,忘记了忽略文件
- 添加到本地时候,不要勾选下面画线地两个
- 添加完之后,颜色变为正行状态。此时把该忽略的文件添加到本地了。所以需要通过代码来进行忽略不该添加的忽略文件。首先在As中项目下打开根路径,进去项目中。打开命令行工具。把ides/下的东西都删了。然后把As的.idea放在工程下的.gitignore
- 这个时候可以往服务器进行推送了,将本地仓库推送到远程仓库中。需要给远程仓库指定用户,并设置权限。在推送之前要进行拉取远程服务器。
- 推送本地仓库到远程服务器
- 用As可以创建分支
- 创建完之后。会自动切换到当前创建的分支,这是在本地创建的开发分支,需要Push到远程仓库中
- 此时在dev开发下就行开发了,修改开发后。需要add,commit, pull, push
- 又来一个新员工了,开始克隆代码了,就行开发
- 远程地址一定要对
- 新圆工一定要在dev和令外一个人在一个开发分支下 进行开发
- 如果都在开发,有冲突了。进行merge。先添加服务器的。再添加你的。然后必须在add,commit,pull push
- 打标签
- 具体内容
- 推送本地标签到远程仓库
- GIT 版本控制软件(-)
- Git 版本控制
- git 版本控制
- 版本控制 git 应用
- 版本控制Git
- git版本控制
- 版本控制软件Git
- Git 版本控制
- git-svn 版本控制
- 版本控制与git
- 分布式版本控制---Git
- Git 版本控制
- 版本控制:git
- GIT版本控制
- 版本控制--Git
- Git版本控制
- GIT(分布式版本控制)
- Git版本控制问题
- 蓄水池算法382. Linked List Random Node
- poj2886 线段树单点修改+反素数(喵?)
- 运用BroadcastReceiver实现强制下线
- 选上司
- 选课
- Git版本控制
- web实训html知识点整理
- 什么是机器学习
- SpringBoot安全
- 刷机!刷机!!刷机!!!
- Sinox下的Wow
- [架构师之路]WEB开发中的MAVEN 镜像
- 服务器定位模式——配合注解实现
- 行为医学统一