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. 【Swift】学习笔记(一)——熟知 基础数据类型,编码风格,元组,主张

    自从苹果宣布swift之后,我一直想了解,他一直没有能够把它的正式学习,从今天开始,我会用我的博客来驱动swift得知,据我们了解还快. 1.定义变量和常量 var  定义变量,let定义常量. 比如 ...

  2. HTML5管理与实际历史的分析(history物)

    HTML5新进入历史的管理,更新history对象允许国家的经营历史更方便. 在现代Web应用.用户"前进"和"退却"button切换历史页面.这使得新的页码不 ...

  3. 【原创】leetCodeOj ---Construct Binary Tree from Preorder and Inorder Traversal 解题报告

    原题地址: https://oj.leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 题目 ...

  4. LoaderManager使用具体解释(二)---了解LoaderManager

    了解LoaderManager 这篇文章将介绍LoaderManager类,这是该系列的第二篇文章. 一:Loaders之前世界 二:了解LoaderManager 三:实现Loaders 四:实例: ...

  5. EL字符串表达式和常用功能用途拦截

    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> ${wj ...

  6. Directx11学习笔记【二】 将HelloWin封装成类

    我们把上一个教程的代码封装到一个类中来方便以后的使用. 首先新建一个空工程叫做MyHelloWin,添加一个main.cpp文件,然后新建一个类叫做MyWindow,将于窗体有关的操作封装到里面 My ...

  7. unity3d简单的相机跟随及视野旋转缩放

    1.实现相机跟随主角运动 一种简单的方法是把Camera直接拖到Player下面作为Player的子物体,另一种方法是取得Camera与Player的偏移向量,并据此设置Camera位置,便能实现简单 ...

  8. OC动态创建的问题变量数组.有数组,在阵列13要素,第一个数据包阵列,每3元素为一组,分成若干组,这些数据包的统一管理。最后,一个数组.(要动态地创建一个数组).两种方法

    <span style="font-size:24px;">//////第一种方法 //        NSMutableArray *arr = [NSMutable ...

  9. 【新秀疯狂UML系列】——面向对象的技术

    从软质工作开始,我们来到与面向对象的接触,接下来的学习材料似乎已经提到了面向对象,在与她的朋友去一个.所以,我们必须知道她多一点点. 一.何为面向对象? 面向对象(Object Oriented).是 ...

  10. Android - 数据存储 -在SQL数据库中保存数据

    对于重复的或结构化的数据,保存到数据库中是很好的选择,比如联系人信息.这里假设你对SQL数据库大体上了解然后帮助你学习Android上的SQLite数据库.在Android数据库上需要用到的API可以 ...