zoukankan      html  css  js  c++  java
  • Git之远程库(GitHub)协同开发,fork和忽略特殊文件

    GitHub,一个基于Git实现的代码托管的平台,可以将内容以及版本记录在远程也保存一份,这样就不用U盘咯(类似于云盘)。PS: 类似GitHub的产品还有许多,如:GitLab、Bitbucket、码云等。

    基于GitHub实现代码托管,需要一下步骤:

    • 注册GitHub    GitHub网站地址:https://github.com/
    • 创建仓库,创建完仓库后会有一个URL代指该仓库,如:

     

    git可以是用该URL进行向远程推送版本信息或获取版本信息

    学会使用Git和GitHub之后,就可以基于GitHub进行代码远程托管。

    添加远程库:

    http://www.cnblogs.com/zh605929205/p/7302553.html    这里可参考我哥网址

      这里是对下面图片的解释,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

    把网址重命名成前面的origin,最后一行代码是提交到远程库

    ps:上面的命令是GitHub提供给我们的,这些命令我们可以直接用

    1、README,md 是GitHub自己生成的,上面s5day83是远程库的名称(这个是我们自己写的名称),一般在本地也创建一个s5day83文件,这样更容易找到这个文件。

    2、倒数第二行是把后面的http网址重命名为origin,一般都弄成这个,让人一眼看到就知道是GitHub的,这样以后就直接提交到origin就行了,就不用输入一长串http......了。

    3、最后一行代码是推上远程库。

    总结一下push和pull步骤操作:

      重点注意事项:注意不是第一次push和pull的时候,要在跟远程库名字一样的文件夹里面进行操作,并不是在外面操作。(若要在跟远程库名字一样的文件夹外面操作,首先得设置这个文件夹的权限,设置权限步骤-->>右击这个文件,点击属性->>安全-->>编辑-->>添加-->>输入EV--->>检查名称-->>确定--->>在完全控制后面允许的方框内打上对勾----->>剩下的都点击确定,即可完成权限操作。

    总结用http推送步骤:
    		1、若没有远程库,要先创建一个远程库,然后复制远程库的路径
    		2、找到一个自己喜欢的地方,创建一个文件夹,然后在文件夹中右击操作,进行打开git窗口;
    		3、git窗口打开之后,先git init 初始化操作
    		4、初始化操作完毕之后,在当前下随便创建一个新的文件,然后在git add . ----->>git commit -m "描述信息"  ,进行这两步骤操作。
    		5、git remote add origin http路径网址,进行重命名操作。
    		6、git push origin master  这样即可完成推送操作,刷新自己远程库页面,会发现多了一个自己上传的文件。
    		PS:
    			1、只能推送一次,拉下来一次,再推送一次,再拉下来一次,不能连续推送,可以连续下拉
    			2、在同一个文件夹下面推送,则输入推送命令即可,但是在新文件加下面,第一次操作的时候,必须要先(init)初始化操作。
    	
    	总结ssh推送步骤操作	
    			1、首先创建一对秘钥  ssh-keygen -t rsa,然后在本地电脑的c盘(用户->>Administrator->>.ssh)里面可找到ssh文件,然后进去之后,
    		打开公钥的文件,设置好秘钥。(还有一种方式是输入命令操作,请看下面的配置文件里面的具体内容步骤)
    			2、然后步骤跟上面http的3、4、5 、6步骤一样,进行操作推送即可,注意重命名的时候,换产生ssh路径即可。
    	
    	总结下拉步骤操作:
    		1、找一个地方,先创建一个文件,然后进行git clone http路径名 or ssh路径名,即可完成clone操作,完成之后会发现当前文件夹下面
    	会出现一个跟远程数据库名字一样的文件,这就证明pull成功了,注意:第一次必须用clone操作哦。
    		ps:在同一个文件夹下面pull,则直接输入pull相关命令即可,但是在新文件夹下面操作,第一次必须用clone操作。
    

      

    额外补充:查看远程库:

     git remote----->>后面不带参数,表示:列出已经存在的远程分支,有几个,就会显示出来几个。
     git remote -v //加上-v参数可以查看详细信息 ----> 显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址。

    现在先做一些简单的流程操作:

    GitHub(代码托管)
    		GitLab(公司自己搭建代码托管)
    		
    		公司:
    			创建远程仓库
    			写readme
    			git add .
    			git commit ...
    			git push origin master----->>表示:推到远程库
    			
    			下班
    			
    		家:
    			git clone https://github.com/WuPeiqi/s5day83.git  ----->>克隆下来远程库的东西
    			git add .
    			git commit ...
    			git push origin master  ----->>再次推送
    		
    		到公司:
    			git pull origin master   ----->>从远程库拉下来
    		
    			# 继续开发,开发到一半,留点代码回家做
    			git add .
    			git commit -m 'xxx'
    			# git push github master  ----->>若这次忘记了推送,则到家之后,跳过这一部分,写后面的内容
    			
    		家:
    			
    			根据自己的记忆继续写代码:
    			在家完成后续功能
    			git add .
    			git commit -m 'xxx'
    			git push origin master  ----->>从家推送到库
    			
    		公司:
    			git pull github master  ----->>继续拉下来。。。(下面的两行代码,跟执行这一行代码是一样的效果)
    				git fetch github master
    				git merge github/master    <=> git rebase github/master
    					
    					
    					
    			解决冲突
    			# 继续写代码
    			git add .
    			git commit -m 'xxx'
    			git push github master
    

    ps:

      1、如果有冲突,跟之前status解决冲突是一样的操作。 

      2、克隆的时候,是克隆全部的代码,放心操作即可。

         3、注意下面这个,这个的话是从远程拉到分支里面,会自动另外出现一个名字,若名字叫origin,那么则如下图显示;若叫github则叫,也看下面图片。

          

      4、git pull github master 等于    git fetch github master      加        git merge github/master(git rebase github/master) ,

    在这里要这两个的区别:git merge github/master    <=> git rebase github/master  ,这两个代码执行效果一样,唯一不同的是,图形效果不同,用rebase流程图更清晰如下图

    协同开发开始:

    1、找到要协同开发的用户名字,将其他用户添加到仓库合作者中之后,该用户就具有向当前仓库提交代码的权限。

     

    2、组织,创建一个组织,然后再该组织下可以创建多个项目,组内成员可以向组内所有项目提交代码。PS:也可以对某个项目指定合作者(下面是三幅图)

     fork 开始:

      有没有给别人的代码做过贡献?没有的话,下面就跟我一起开始吧,这就是fork操作

      1、找到想搞的项目,fork一下,然后这个项目就在自己仓库出现了

    2、从自己仓库获取代码并进行编辑提交

    3、创建并提交一个pull request,然后等待原作者是否同意这个pull request,如果同意那么在作者的源代码中就推出现小P提交的功能

    配置文件:(解决头疼的重复输入密码问题)

     1、Git的配置文件有三个:

    • 系统配置: /private/etc/gitconfig
    • 用户配置: ~/.gitconfig
    • 项目配置:.git/config   ----->>当前项目的配置文件
    • PS:打开这些进行配置的时候,都用vim编译器

    2、

    由于Git和Github交互操作可能会很频繁,那么一定少了用户授权的操作,为了防止每次操作重复输入用户名和密码,Git提供了两种解决方法:

      • 秘钥
        首先创建一对秘钥  ssh-keygen -t rsa,然后将 id_rsa.pub (公钥)内容拷贝到github中日后操作无需再输入用户名和密码。
        注意:这种方式需要使用GIt中 git@github.com:WuPeiqi/xxxxx.git 格式地址。
      • 密码 ----->>参考老师博客  

     步骤开始:

      1、创建秘钥的时候,要cd ~/.ssh  先切换到这个目录下进行创建(设置好秘钥之后,要回到需要上传的某个文件夹下面,然后再次进行上传操作,首先创建一对秘钥  ssh-keygen -t rsa,创建之后,会出现公钥和私钥的键值对;(创建秘钥的时候,输入命令之后,若一直提示继续输入,则一直点击回车

      

    2、打开公钥之后,复制里面的内容

      

      

    3、在GitHub中,个人中心里面找setting,然后放到这个里面,title随便写就行

    忽略文件设置操作:

    1、vim .gitignore,创建一个这个文件

      

    2、在这个文件里面,写一写东西,如:a.* 、 test/[abc].py 、[abc] test/* 、 !test/a.py ....,写进去这些之后,再git status的话,就检测不到了(这样就可以忽略pycharm给我们自己创建的文件)

      

    PS: git命令只能在: .git 文件的路径。(.git这个只有初始化之后才有)

     http://www.cnblogs.com/wupeiqi/p/7295372.html  详细参考博客

  • 相关阅读:
    KindEditor简单的Demo使用
    动态从数据库读取菜单(ASP.NET版)
    完全卸载sql2005
    关于在xp(sp3 专业版)下安装sql2005开发版图解
    新手上路Tomcat 7.x和JDK的配置
    关于IE6幽灵字体
    【译】写个好的 CLI 程序
    【译】通过 Rust 学习解析器组合器 — Part 1
    【译】PHP 内核 — zval 基础结构
    【译】PHP 内核 — 字符串管理
  • 原文地址:https://www.cnblogs.com/heysn21/p/7551980.html
Copyright © 2011-2022 走看看