一.需求描述: 现有一个git仓库,Team A和Team B的人操作同一仓库的不同目录,Team A的dev希望Team B的dev没有权限review属于Team A的代码目录,故现需要先将这个git 库下的子目录进行拆分,为后续单git库权限独有覆盖做准备. 二.操作背景: Ubuntu shell(终端) 三.迁移(使用filter-branch命令) 由于我需要迁移的子目录包含中文名,因此需要使用filter-branch命令来实现迁移,当然,如果不包含中文的目录也可以使用git1.8…
使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172.16.0.241:8443/svn/wsgjp/ -r 76896:HEAD --no-metadata --authors-file=svnuser.text --trunk=svnproject --branches=svnbranch yourGitProject r指定起止版本号. no-…
case如下: 有2个git仓库:repo1.repo2: 想将repo1中的文件移入repo2: repo1的历史日志要保留:   1 2 # 1.将repo1作为远程仓库,添加到repo2中,设置别名为other [jot@myhost repo2]$ git remote add other ../repo1/ 1 2 3 4 5 6 7 8 # 2.从repo1仓库中抓取数据到本仓库 [jot@myhost repo2]$ git fetch other warning: no comm…
git 版本库拆分 原文地址: https://segmentfault.com/a/1190000002548731 程序员最爽的事情是什么?删删删!所有项目本来都很苗条的,时间长了难免有一些越搞越大,怎么看怎么不爽,一个字,拆!今天就说说拆分 Git 仓库这件小事儿. 这个拆字呢,有两种写法,比如你有一个叫做 big-project 的仓库,目录如下: big-project ├── codes-a ├── codes-b └── codes-eiyo 有时候想把 codes-eiyo 拆出…
如果git库目录是这样的: git根目录 project_a/ project_b/ ... 并且想为project_a单独创建一个代码库 # 拉一个新分支 git co -b project_a_repo # 重构本分支的log,将project_a目录提为根目录并去掉其他文件和log git filter-branch -f --prune-empty --subdirectory-filter project_a/ # 将新的远端代码库添加到当前工作目录 git remote add pr…
Git的诞生 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢? 事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过手工方式合并代码! 你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?不是有…
Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile /root/.ssh/authorized_keys 启用这三行,然后重启service sshd restart设置.ssh目录权限chmod 700 -R .ssh如果你想要每台机子都无密码登录,那么把每台机子产生的密钥添加到文件中(这是在受控端机子上面执行的)cat id_rs…
目前为止,所有的Git操作都是在一个本地版本库中.现在是时候来体验Git分布式的特性了. 说到远程版本库,大家最为熟悉的就是GitHub了,它实际上就相当于一个远程版本库,托管着所有的本地版本库的提交,同时也可以把GitHub上的内容抓取到本地,从而实现多人协同工作. 1,版本库概念 1-1,裸版本库和开发版本库 一个 Git版本库 要么是一个裸(bare)版本库,要么是一个开发(非裸,development,nonbare)版本库. 开发版本库用于常规的日常开发,前面章节中所使用到的都是开发版…
原文来至 一.创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原". 所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录.在我的Mac上,这个仓库…
创建带工作区的版本库 在开始一个新项目时,首先就要创建并初始化代码库.如果是在本机的工作目录中,那么: $ git init 也就够用了.如果想要初始化的版本库不在当前目录,需要为 git init 命令指定版本库所在的目录: $ git init hello 执行完命令,在当前目录或您指定的目录下会创建一个名为 .git 的目录,这就是版本库了.…
本文记录了远程库的连接和库的克隆和推送. 远程仓库简介 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分. 分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步, 有个叫GitHub的国外网站,提供Git仓库托管服务的,所以…
Git作为分布式版本库控制系统,每个人都是本地版本库的主人,可以在本地的版本库中随心所欲的创建分支和里程碑. 当需要多人协作时,问题就出现了: 1.如何避免因为用户把所有的本地分支都推送到了共享版本库,从而造成共享版本库上分支混乱. 2.如何避免不同用户针对不同特性开发创建了相同名字的分支而造成分支名称上的冲突;. 3.如果不带参数执行git fetch,git pull和git push 到底是和那个远程版以及哪个分支进行交互? 之前说Git 分支的时候,每一个版本库最多只和一个远程共享上游版…
向版本控制器提交文件 我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在,运行git status命令看看结果: $ git status # On branch master # Changes not staged for commit: # (use "git ad…
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”. 1.所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit pwd命令用于显示当前目录.在我的Mac上,这个仓库位于/Users…
上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的Spec Repo. 创建Pod的所需要的项目工程文件,并且有可访问的项目版本控制地址. 创建Pod所对应的podspec文件. 本地测试配置好的podspec文件是否可用. 向私有的Spec Repo中提交podspec. 在个人项目中的Podfile中增加刚刚制作的好的Pod并使用. 更新维护p…
问题描述: 我在本地有两个Git库项目(D1=PC项目 包含通用项目,D2=移动项目 也包含通用项目这两个项目在同一目录下),因为这两个项目使用的通用项目是一样的如数据库访问等   只有显示层(view)不一样而已,因为在之前没有很好的规划而导致出现现在的问题,即如果D1里更改了通用项目的文件   那么D2需要先将D1通用项目的更改先合并过来然后再处理D2项目(防止出现差异导致出现问题),反之也是一样,所以如果通用项目文件经常更新时,我就需要浪费大量的时间在合并这两个Git仓库上   所以要现在…
从远程库克隆 阅读: 248434 上次我们讲了先有本地库,后有远程库的时候,如何关联远程库. 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件.创建完毕后,可以看到README.md文件: 现在,远程库已经准备好了,下一步是用命令git clone克隆…
上次我们讲了先有本地库,后有远程库的时候,如何关联远程库. 现在,假设我们从零开发,那么最好的方式是先创建远程库,然后,从远程库克隆. 首先,登陆GitHub,创建一个新的仓库,名字叫gitskills: 我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件.创建完毕后,可以看到README.md文件: 现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库: $ git clone…
上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的Spec Repo. 创建Pod的所需要的项目工程文件,并且有可访问的项目版本控制地址. 创建Pod所对应的podspec文件. 本地测试配置好的podspec文件是否可用. 向私有的Spec Repo中提交podspec. 在个人项目中的Podfile中增加刚刚制作的好的Pod并使用. 更新维护p…
查看版本 git --version # 查看git的版本 设置或者查看用户名和邮箱 git config --global user.name "tuhooo" // 如果后面没有用户名就是查看, 有的话就是设置 git config --global user.email tuhooo@.com // 如果后面没有邮箱就是查看, 有的话就是设置 初始化一个项目 mkdir you_project_dir // 新建一个目录,然后进去 git init // 初始化 git init…
问题场景 小明在Github上fork了一个大佬的项目,并clone到本地开发一段时间,再提交merge request到原Git项目,过了段时间,原作者联系小明,扔给他下面这幅截图并告知合并处理冲突,让他自行解决. 小明看到后犯难了,我在IDEA上merge的时候,也没看到原Git项目分支的选项呀,只能merge fork后项目的其它分支,这该如何是好? 问题解决 解决方法很简单,只需要把当前Git仓库关联一下原远程Git仓库就行了. 操作步骤: 在本地Git仓库目录执行下面命令,查看当前关联…
码云版本库使用流程 生成公钥 ssh-keygen -t rsa -c "码云申请邮箱" 添加公钥到本地 ssh-agent bash ssh-add ~/.ssh/id_rsa 查看公钥内容 cat ~/.ssh/id_rsa.pub 复制公钥内容并配置到码云上 码云==>个人中心==>设置==>安全设置(SSH公钥)完成添加 在码云上创建新的项目,设置为私有 初始化git通过命令把这个目录变成Git可以管理的仓库: git init 链接到远程码云仓库 git r…
1.本次连接的是gitHub仓库. 1>创建SSH Key. ssh-keygen -t rsa -C "youremail@example.com" lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/gitLocalRepository/yangjie (master) $ ssh-keygen -t rsa -C "12345678@qq.com" Generating public/private rsa key pair. Ent…
使用GitHub(二):配置并使用Git创建版本库 本文简单介绍使用GitHub对代码进行版本控制,包括添加SSHkey.配置Git.使用Git创建版本库并在GitHub上进行管理,主要目的是对学习内容进行总结以及方便日后查阅. 详细教程和原理可以参考廖雪峰的Git教程或猴子都能看懂的Git教程. 本文版权归马涛涛所有. 本文所引用的图片和文字版权归原作者所有,侵权删. 如有错误请在下方评论区指出,欢迎积极讨论. 配置Git git config --global user.name 你的英文名…
版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原". 一.创建版本库 git init:初始化仓库. git add:添加文件到仓库. git commit -m "...":提交暂存区到本地仓库 1.1 创建版本库 ① 创建空目录 $ mkdir learngit $ cd learngit ② 初始化目录…
1.安装好Linux,安装好Git(192.168.1.239) 2.创建一个用户zph(让此用户提供git on server),密码设置为12345678 # useradd zph # passwd zph 3.切换到zph用户 # su zph $ cd 4.创建一个远程仓库 $ git init --bare sample.git 5.在windows下(192.168.1.5),打开git bash $ git clone zph@192.168.1.239:/home/zph/sa…
 目录[-] 前提 使用流程 原理解析 注意 Other 参考文章 作者:shede333主页:http://my.oschina.net/shede333 && http://blog.sina.com.cn/u/1509658847版权声明:原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | [Creative Commons BY-NC-ND 3.0][] 前提 一般来说,我们为git增加远程库,一般都是git remote add origin <url> (…
[root@localhost workspace]# cd repos/ [root@localhost repos]# ll 总用量 drwxr-xr-x root root 12月 : hello-world.git [root@localhost repos]# git clone --bare hello-world.git hello-user1.git 克隆到裸版本库 'hello-user1.git'... 完成. [root@localhost repos]# git clon…
1.在oschina上新建库 2.在本地文件夹右键->"git Bash here" 3.设置全局变量: git config --global user.name "git账号" git config --global user.email "git邮箱" 4.初始化本地库 git init 5.关联远程库: git remote add origin https://git.oschina.net/......git 6.第一次提交(比…
一.    Git添加远程库 1.在本地新建一个文件夹,在该文件夹使用Git工具,运行$ git init,将该文件夹变为本地Git仓库,同时会生成一个隐藏的.git文件夹. 2.在该文件夹中用NotePad++建立一个xx.txt文件(建立文件即可,不要求什么格式与内容):在Git工具中依次运行 $ git add xx.txt 和  $ git commit -m "描述信息". 3.创建SSH Key.在Git工具中运行 $ ssh-keygen -t rsa -C yourem…