gitHub

来源:互联网 发布:人工智能建模 编辑:程序博客网 时间:2024/06/06 02:02

0.创建organiazation orgnazation创建仓库到(他人创建的开源项目 则不需要仓库)

已经有一个develop master

1.然后我初始化仓库(按github上)

我就有一个本地仓库对应远程源仓库

然后我就作为这个项目的管理人

之后如该有 pull request 则我受理

2.fork到自己 有一个master


3.到某文件夹终端git clone ......

加上管理员的仓库 就有两个了

4.进入该文件夹

5.git branch 查看本地分支 git branch -a 查看全部

-r 查看远程

6.it checkout -b xxx 创建新分支

git checkout xxx切换分支

在新建分支工作

$ git push origin test:master         // 提交本地test分支作为远程的master分支xx
$ git push origin test:test              // 提交本地test分支作为远程的test分支 xx

7.修改或添加文件

新建文件a; git add a  / git commit  提交到当前分支

git add . 将所有修改过的工作文件提交暂存区

修改b git commit -a

8.git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track(-u)

9.develop分支开发完善 再把远程develo ppull到本地 master

10.确认 ok后

git push origin master(远程分支

11.这使远程 本地两个分支都相同了

12.pull 一般也从develop分支pul

git pull origin develop 

本地两个分支 develop origin

分别对应 远程origin develop

然后合并本地

13.其他如

回滚冲突 则相应的查找解决方法

常用git status


管理员提交pull request

经过测试以后,觉得没问题,就可以请求管理员把自己仓库的develop分支合并到源仓库的develop分支中,这就是传说中的pull request

git diff显示目录下文件与git 版本下文件区别

14 git branch --set-upstream master origin/master

设置master 对应远程master

15.回滚

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

git reset --hard HEAD~3:将最近3次的提交回滚

回滚本地也修改了

15.1.暂存区 add过但未提交

2.当前文件

3.版本库 提交commit过的

16git push -u origin master # 客户端首次提交

git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track(-u)

17git pull =git fetch+merge to local

18作为项目管理人则还需要在他的本地测试新建一个测试分支,测试我的代码:

  1. >> git checkout develop # 进入他本地的develop分支  >> git checkout -b livoras-develop # 从develop分支中分出一个叫livoras-develop的测试分支测试我的代码  >> git pull https://github.com/livoras/git-demo.git develop # 把我的代码pull到测试分支中,进行测试 (livoras是非管理员开发者)

判断是否同意合并到源仓库的develop,如果经过测试没问题,可以把共同开发者的代码合并到源仓库的develop中:

  1. >> git checkout develop >> git merge --no-ff livoras-develop >> git push origin develop 
  2. 使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。
  3. 19.git branch -d xxx 删除功能性分支

git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址

命令http://www.cnblogs.com/cspku/articles/Git_cmds.html

开发流程http://www.kuqin.com/shuoit/20141213/343854.html

git 手册http://www.ihref.com/read-16369.html#2.4


更新fork的分支 一个是merge原仓库

另一个是从原仓库pull 再push到自己

更新 https://cnodejs.org/topic/53c27320400ca4581b90033c


关于pull request冲突

http://99jty.com/?p=1307

http://my.oschina.net/maliang0130/blog/261756?p=1

(git 是比较实际内容的 所以直接将冲突的地方删除修改也可以)



git log 查看别人提交修改的详情

例:commit a6b0b2c961c8cb57332e32b7b4357e42a05f5f0a
Merge: 9dca2bc 4257eb9
Author: Kevin-Soleil <uestckk@163.com>
Date:   Tue Apr 21 20:25:09 2015 +0800


    Merge pull request #7 from Kevin-Soleil/master
    
    workshow



关于ssh key (生成ssh key简单略)

cd ~/.ssh

就有公钥 和密钥

id_rsa      id_rsa.pub 

ssh-add id-rsa 添加密钥

将公钥添加到 https://github.com/settings/ssh

赋予通信权限

ssh工作原理

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

0 0