仓库

分布式版本控制系统(git远程管理)

你离开我真会死。 提交于 2020-04-08 08:57:42
1,远程仓库概念 在上篇博文中,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,再也不用担心文件备份或者丢失的问题了。 可是有用过集中式版本控制系统SVN的朋友会站出来说,这些功能在SVN里早就有了,没看出Git有什么特别的地方。 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。 你肯定会想,至少需要两台机器才能玩远程库不是?但是我只有一台电脑,怎么玩?其实,一台电脑上也是可以克隆多个版本库的,只要不在同一个目录下。不过,现实中是不会有人这么傻的在一台电脑上搞几个远程库玩,因为一台电脑上搞几个远程库完全没有意义,而且硬盘挂了会导致所有库都挂掉,所以本文就不实践一台电脑上怎么克隆多个仓库,感兴趣的可以自己去实践。 实际情况往往是这样,找一台电脑充当服务器的角色,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。 完全可以自己搭建一台运行Git的服务器,不过为了学Giit先搭个服务器绝对是小题大作。好在这个世界上有个叫 GitHub 的网站,从名字就可看出,这个网站就是提供Git仓库tuo管服务器的,所以

**使用 Git Hook 实现网站的自动部署

自古美人都是妖i 提交于 2020-04-07 13:52:27
http://www.tuicool.com/articles/3QRB7jU 自动化能解放人类的双手,而且更重要的是,因为按照规定的流程来走,也减少了很多误操作的产生。不知道大家平时都是怎么样更新自己生产环境的代码的,FTP 覆盖旧文件、服务器定时任务去 build 最新的源码,还是有更高级的做法? 目前我在使用 Git Hook 来部署自己的项目。Git Hook 是 Git 提供的一个钩子,能被特定的事件触发后调用。其实,更通俗的讲,当你设置了 Git Hook 后,只要你的远程仓库收到一次 push 之后,Git Hook 就能帮你执行一次 bash 脚本。 下面是我使用 Git Hook 进行简单的自动化部署,可能还有更高级的做法,大家自己去挖掘。 在服务器初始化一个远程 Git 仓库 git init 和 git --bare init 初始化出来的仓库是完全不一样的,具体我 Google 了下,英文倒是理解了,但是要翻译出中文却不知道用什么形容词去称呼这2种仓库。 这里我们要通过 git --bare init 初始化一个远程仓库 $ cd ~ $ mkdir testRepo $ cd testRepo $ git --bare init 在服务器初始化一个本地 Git 仓库 这个仓库就是通过 git init 初始化出来最常见的本地仓库,它的作用是拉去远程仓库

git的学习笔记

本秂侑毒 提交于 2020-04-07 05:53:16
1. 安装git centos上 yum install -y epel-release yum install -y git 2. 创建版本库 mkdir /home/gitroot cd /home/gitroot git init ##用这个命令初始化,让这个目录变成git可以管理的仓库 3. 提交文件到仓库 创建一个文件 1.txt echo -e "123\naaa\n456\nbbb" > 1.txt git add 1.txt //把1.txt添加到仓库中 git commit -m "add new file 1.txt" //add完了必须要commit才算真正把文件提交到git仓库里 初始使用该命令会提示: *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. 这是要让我们设置用户邮箱和用户名。根据它提示设置一下即可: git config --global user

用git部署网站代码到生产环境VPS

元气小坏坏 提交于 2020-04-07 04:59:31
做web开发时,以前都是写好了一个新功能要发布到服务器上都是使用FTP上传覆盖原来的代码,这样做很麻烦,首先要打开FTP程序,然后进入指定文件夹,然后上传,而且用FTP上传经常容易出错总是有个别文件会因为权限或者各种奇葩的原因上传失败。。。。。。用git来部署就不会有这样的问题。 如果你的项目是一个团队在做,可能还需要一个公共仓库如Github或者GitCafe,git.oschina.net,git.csdn.net等,使用他们也可以部署到远程的服务器。方法是,设置GitHub等的hook(国内git网站叫push钩子),它的作用是,每次我们从本地push改变到这些仓库时,这些仓库会向指定连接(例如自己的vps服务器)发生post请求(不止一种请求,但常用post请求,请求的内容也因仓库不同而不同),我们可以设置自己的vps生产服务器一旦接收到这个post请求就开始部署,可以写bash脚本或者Python脚本实现,或者直接网上找别人写好的。 还有另一种方法则是不适用公共仓库来发生hook而是直接使用vps生产服务器来做这些事情(代码管理+部署生产环境的代码),下文便讨论如何实现。 创建自己的仓库 cd /var mkdir git && cd git mkdir your_site.git && cd your_site.git git init --bare -

Git常用命令(一)

纵然是瞬间 提交于 2020-04-07 01:45:59
1. 初始化一个Git仓库,使用 git init 命令。 2. 添加文件到Git仓库,分两步:【Git天界文件需要add,commit 两步,因为commit可以一次提交很多wenjian 】 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件; 第二步,使用命令git commit,完成。 3. 要随时掌握工作区的状态,使用git status命令。 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。 4. 版本回退: ,每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为 commit 。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个 commit 恢复,然后继续工作,而不是把几个月的工作成果全部丢失。 git log 命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是 append GPL ,上一次是 add distributed ,最早的一次是 wrote a readme file 。 如果嫌输出信息太多,看得眼花缭乱的,可以加上 --pretty=oneline 参数 。 版本回退时, Git必须知道当前版本是哪个版本,在Git中,用 HEAD 表示当前版本, 上一个版本就是 HEAD^ ,上上一个版本就是 HEAD^^

maven仓库私服配置

自作多情 提交于 2020-04-06 11:56:33
私服访问地址:[[ http://192.168.1.252:9080/nexus/content/groups/public/ 地址]] 1. 打开eclipse/myeclipse的maven插件: 点菜单 Window ---> Preferences,找到maven插件,点开User Settings配置项,找到使用的settings.xml文件位置,用UltraEdit或其他XML编辑器打开该文件 2. 修改settings.xml配置: 2.1 文件开头的localRepository节点,设置本地maven仓库路径,如 <localRepository>D:/MavenRepository</localRepository> 2.2 文件结尾的profiles节点,设置远程maven仓库路径,如: <profiles> .........其他profile配置...... <profile> <id>remote_repo1_Profiel</id> <repositories> <repository> <id>repo1-maven-central</id> <name>repo1 maven</name> <url>http://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> <

为Xcode配置Git和Github

牧云@^-^@ 提交于 2020-04-06 07:05:49
Xcode、Git和Github是三个伟大的编程工具。本文记录一下如何在Xcode中使用Git作为源代码控制工具,以及如何将本地的Git仓库和远程Github上的仓库集成起来。 1. 如何为新建的Xcode项目使用Git Xcode4开始,就已经将Git作为内置的源代码控制(Source Control)工具了,所以为新建的项目使用git来管理是很方便的。 在新建项目向导中,可以直接选择Git作为源代码控制工具,完成项目新建向导后,就在本地项目目下新建了一个仓库。 2. 如何为已经存在的项目使用Git 如果已经存在了一个Project,想要为它使用Git,可以利用Git的命令行来操作。 假设该项目的根目录是: ~/Documents/Projects/ProjectA (1) 在终端中先进入该目录: cd ~/Documents/Projects/ProjectA (2) 在该目录初始化Git仓库: git init (3) 注意,这时一定不要着急将目录下的所有文件都添加进来,先手工设置一些针对Mac OS X上的无用文件的排除(exclude),在项目根目录(ProjectA)下新建.gitignore文件,在该文件中添加如下排除规则: # 排除build目录 build/* # Exclude temp nibs and swap files # 排除nib临时文件和交换文件

工欲善其事,必先利其器——DevOps中如何管理工具包

主宰稳场 提交于 2020-04-06 03:35:31
一、背景 作为DevOps交付流水线的开发者,为支持CI/CD中各项任务的自动化,都需要依赖多种包管理工具来下载各种相关的工具,比如针对产生最终交付件的构建过程,就需要在构建流程的第一步,自动地把相关工具,如Curl、wget、Maven、Gradle、npm等等,下载到CI服务器。这些工具的下载,通常都需要依靠对应的公网服务器和包管理工具来支持。而这样通过公网来下载工具,有时会遇到稳定性的问题,也就是所谓的环境问题,导致工具下载失败,进而导致构建任务的失败。因此,我们需要引入新的技术来克服这些问题,保证工具包下载的稳定和可靠。 二、工具包管理的痛点——缺乏稳定性 通常,我们会使用各种各样的包管理工具来帮助我们下载和管理这些工具包,如Windows上的Chocolatey,Mac/Linux上的Homebrew,还有npm、Yum、Debian、Docker等等。可是,有时我们通过这些包管理工具来下载工具包时,会碰到意外的5xx服务器错误。而更多的时候,通过这些包管理工具来下载会非常的慢。这些问题在我们使用自动化构建工具(如Travis CI、Jenkins、Gitlab CI,等等)来实现持续集成CI的时候,会被成千上百倍地放大。一种解决办法就是在碰到这些环境问题时,通过手动运行构建的方式进行补救,当然,这只是指标不治本。同时,在网络访问有限制的时候

GitLab 仓库管理 创建一个仓库

时光毁灭记忆、已成空白 提交于 2020-04-06 02:13:41
Gitlab 仓库管理 GitLab 是通过组(group)的概念来统一管理仓库(project)和用户(user),通过创建组,在组下再创建仓库,再将用户加入到组,从而实现用户与仓库的权限管理 创建仓库之前先创建组 创建组 creategroup 在管理员页面点击页面顶部的 Admin area 按钮,进入管理员区域 在页面右侧点击绿色的 New group 按钮,进入创建组页面: 在创建组页面中,组路径和组名称为必填项,而且此两处内容好一致: 组的路径和组的名称一致,组的描述可写可不写 注:visibility Level:选择谁可以访问该组:我们默认选择 private 即可, Private:只有授权的用户才可以看到 分配的用户 Internal:只要是登录 gitlab 的用户就可以看到 Public:只要可以访问 gitlab web 页面的人就可以看到 点击页面下的 create group 按钮,完成组的创建,进入组管理页面 在页面我们可为组添加用户。 默认有一个管理员用户 创建用户 createuser 在管理员页面点击页面顶部的 Admin area 按钮,进入管理员区域 在页面右侧点击绿色的 New user 按钮,进入创建用户页面: 在创建用户页面,输入用户名昵称、用户名、电子邮件、选择用户级别 创建dev用户 点击页面下部的 create user 按钮

git 添加多个远程仓库命令

假装没事ソ 提交于 2020-04-05 19:38:29
添加多个仓库 方法一 注意这里的 origin 和 gitee 为自定义远程仓库的名字,不能重复。 // 添加github git remote add origin https://github.com/xxx(仓库地址) // 添加gitee git remote add gitee https://git.gitee.com/xxxx(仓库地址) // 提交到github git push origin // 提交到gitee git push gitee // 从github更新 git pull origin master // 从gitee更新 git pull gitee master 方法二 添加第二个gitee仓库 git remote set-url --add gitee https://git.gitee.com/xxxx(仓库地址) // 此时只需要一次push就能同步到多个远程仓库 git push 总结 配置1可以选择任一仓库进行pll,而配置2缺默认只能从config中的第一个url内的仓库pull代码。 来源: https://www.cnblogs.com/lwlblog/p/12634455.html