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  详细参考博客

原文地址:https://www.cnblogs.com/heysn21/p/7551980.html