http://www.ruanyifeng.com/blog/2012/07/git.html    git分支管理

 
基础命令:
1.创建账户
git config --global user.name "yourname"
git config --global user.email "youreami@xx.xxx"
git congig --list //查看配置列表
 
1.1基础操作:
Git init【创建一个空的Git库。在当前目录中产生一个.git 的子目录】
Git add【将当前工作目录中更改或者新增的文件加入到Git的索引中;git add .表示添加全部】
Git rm【从当前的工作目录中和索引中删除文件。】
Git commit【提交当前工作目录的修改内容。】
Git status 【查看版本库的状态。可以得知哪些文件发生了变化,哪些文件还没有添加到git库中等等。】
Git log 【查看历史日志,包含每次的版本变化。每次版本变化对应一个commit id。 】
Git merge 【把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 】
Git diff 【把本地的代码和index中的代码进行比较,或者是把index中的代码和本地仓库中的代码进行比较。 】
Git checkout 【切换到分支;[git checkout .]——返回本次的最初修改】
 

1.2分支操作

git branch 分支名 父分支名称【创建分支】
git checkout 分支名【切换分支】
git branch -d 分支名【删除分支】
git tag 标签名 分支名【打标签】
git branch -m 原分支名 新分支名【修改分支名】
 
2.设置ssh生成钥匙和锁&验证成功

 
ssh-keygen -t rsa -C  your_email@youremail.com
查看你的public key
cat ~/.ssh/id_rsa.pub
 
3.建立远程连接

 
git remote add origin ssh链接    //origin可以自己命名(这个是主机名)
 
4.提交版本库和从远程获取

 
git pull origin master    //从远程获取(并且自动合并)
git fetch origin master   //从远程获取(不会自动合并)
git clone <版本库的网站>  //拷贝(克隆)一份
git push origin master    //变化提交到了远程库
 
5.合并远程与本地版本库
 Git merge 

把服务器上下载下来的代码和本地代码合并。或者进行分支合并。 (git merge master)
例如:当前在master分支上,若想将分支dev上的合并到master上,则git merge dev
注意:git merge nov/eclair_eocket (是将服务器git库的eclair_eocket分支合并到本地分支上) 
      git rebase nov/eclair_eocket (是将服务器git库的eclair_eocket分支映射到本地的一个临时分支上,然后将本地分支上的变化合并到这个临时分支,然后再用这个临时分支初始化本地分支) 
 
6.git发生冲突
 
其中:冲突标记<<<<<<< (7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。
此时,还没有任何其它垃圾文件产生。 
最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。

 
git创建ssh是碰到的一个问题
 
1.当设置完git的user.name和user.email后
2.创建本地ssh ssh-keygen -t rsa -C "xxxxx@xxxxx.com"

3.查看你的public key cat ~/.ssh/id_rsa.pub

4.把public key添加到线上的代码托管的地方化

5.ssh -T git@git.oschina.net验证是否成功

6这时候会出现下图的这些东西,
有一句问句Are you sure you want to continue connect(yes/no)?
这里一定要输入yes,不能直接回车,否则会出现连接失败的
 

7.如果输入yes,会有一句waring,不用管,这样就连接成功了。。。NND,弄了好几天

 
 

git管理项目: 【不仅仅适用git】
  1. 项目一步一步做下去,一个功能提交一次。功能修改单独提交一次。
  2. 详细的文件夹分类,命名
  3. 分支:主要功能都可以运行了,然后,再添加功能的时候,使用分支;如果,功能OK,合并到主干;不OK,删除分支;
  4. 标签:建立标签,确定每一个阶段,相当于版本号。
  5. 文件夹分类:大的功能一个文件夹,小的功能再一个文件夹;建立readme文档,对于每个文件夹都需要说明功能;列出所有的目录结构
例如:
   主目录:
   ————分目录1
   ———————————| 1.1 子目录
   ———————————| 1.2 子目录
   ———————————| 1.3 子目录
   ———————————| 1.0 分目录下面的入口文件
 
   ———————分目录2
   ———————分目录3

全文只是自己初学git,以及对于git运用的一些想法。最好的学习是总结,是记录。。。。加油.........
 
 

初学git && 使用总结的更多相关文章

  1. 初学git(一):创建本地“仓库”

    初学git(一):创建本地“仓库” 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史.和其他版本控制的对比啥的,我就不说了.另外,我这里用的是Mac OS X ...

  2. 初学git

    初学git,总结了一点东西,可能有理解和操作的不到位的地方,还有就是这个是我之前写在word上的,因为CSDN上不能直接上传,所以拷贝的过程中也可能有其他问题.发的的朋友还望指正... 1.找到“参与 ...

  3. 初学git,出现错误:fatal: Not a git repository (or any of the parent directories): .git

    提示说没有.git这样一个目录,解决办法: 输入  git init 就可以啦.

  4. 初学git:用git bash往github push代码

    对于我来说,最开始使用github主要是为了使用它的pages功能展示demo.其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其 ...

  5. 初学Git命令

    初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使用命令git commit ...

  6. 初学git,初始化库|添加文件ignore|提交方法

    1.初始化git仓库: 进入任意目录,右键选择:Git Bash Here,输入命令:git status 查看当前git库的状态. 如要排除文件,在库根目录下创建.gitignore文件(新建文件改 ...

  7. (转)初学Git及简单搭建git服务器和客户端

    终于搞定,mac自己作为git服务器,mac也是客户端,如何免登 从另外一个linux服务器的上传公钥得到提示 ssh-copy-id -i ~/.ssh/id_rsa.pub git@192.168 ...

  8. 初学Git和Github

    一开始看到老师的作业,出于好奇打开看了一下教程链接,一脸懵逼.What is this???然后慢慢了解,自己百度琢磨这个陌生的git,Git是一款免费.开源的分布式版本控制系统.Github是一个代 ...

  9. 初学Git——命令总结

    首先,感谢廖雪峰老师制作的Git教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0 ...

随机推荐

  1. JavaBean编程的基本思路-逻辑业务层

    JavaBean是Java类别.为了实现业务逻辑层. 你是什么意思?我有一个很长的故事短:我们知道,JSP编程是Java编写的代码html文件.和JavaBean编程是Java写在另一个代码JAVA类 ...

  2. 在 树莓派上使用 c++ libsockets library

    rpi默认安装的编译器是gcc-4.6.2 而现在最新的c++ libsockets library 需要使用支持c++-11特征的编译器,即需要4.8.2才可以.为此,需要先升级编译器才可以支持编译 ...

  3. 认识Underscore

    Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它弥补了部分jQuery没有实现的功能,同时又是Backbone.j ...

  4. 原生javascript学习

    首先在这里要非常感谢无私分享作品的网友们,这些代码片段主要由网友们平时分享的作品代码里面和经常去逛网站然后查看源文件收集到的.把平时网站上常用的一些实用功能代码片段通通收集起来,方便网友们学习使用,利 ...

  5. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    原文:ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性 深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开 ...

  6. 浅谈web网站架构演变过程(转)

    前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理 阶 ...

  7. cocos2dX 它CCScene创建原则和切换模式

    今天, 让我们来看看现场CCScene创建原则和切换模式, 首先, 个什么样子: 我们先来看看效果: 啥也没有: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZX ...

  8. hdu2852--KiKi&#39;s K-Number(段树,求第一k的数量)

    KiKi's K-Number Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. 自己主动机串标:Directed Acyclic Word Graph

    trie -- suffix tree -- suffix automa 有这么几个情况: 用户输入即时响应AJAX搜索框, 显示候选名单. 搜索引擎keyword统计数量. 后缀树(Suffix T ...

  10. 【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解

    (1)导航控制器初始化的时候一般都有一个根视图控制器,导航控制器相当于一个栈,里面装的是视图控制器,最先进去的在最以下,最后进去的在最上面.在最上面的那个视图控制器的视图就是这个导航控制器对外展示的界 ...