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. WPF中的三维空间(1)

    原文:WPF中的三维空间(1) WPF中可以创建三维几何图形,支持3D对象的应用,支持从3D Max等软件将3D文件obj导入设计中,但是目前还不支持将材质同时导入,这样需要在WPF中对3D对象重新设 ...

  2. BAE3.0搭建wordpress注意

    仅仅是mark一个注意的点,数据库连接时,主机是: /** MySQL主机 */ define('DB_HOST', 'sqld.duapp.com:4050');

  3. Linux在简短而经常使用的命令

    Linux组成: 内核:的心脏.是执行程序和管理像磁盘和打印机等硬件设备的核心程序. shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.是 ...

  4. bash组织成树数据结构

    君子也非独占,善假于物!bash也因此.昨天晚上,今天早上世界杯很精彩.晚上醒来看到不断地居住的电话.早上没有喝的水开始赞赏在英国和意大利的对决.也TM精彩,最后生下了罗马文化.意大利伊特鲁里亚文化获 ...

  5. WPF中两条路径渐变的探讨

    原文:WPF中两条路径渐变的探讨 我们在WPF中,偶尔也会涉及到两条路径作一些“路径渐变 ”.先看看比较简单的情形:如下图(关键点用红色圆点加以标识):(图1) 上面图1中的第1幅图可以说是最简单的路 ...

  6. cocos2dx --- Widget 载入中 CCNode

    如果说. Widget 有addChild()   与 addNode()  两个方法. 如今我要载入一个粒子特效进去,下图: Widget* layout = dynamic_cast<Wid ...

  7. Duanxx的STM32学习: 启动模式,BOOT0和BOOT1具体解释

    在画STM32的电路图的时候,关于STM32的启动方式纠结了一下,现有的參考设计都是在STM32的启动选择引脚BOOT0和BOOT1上使用了跳帽,用以人工选择STM32的启动方式,可是在实际应用中这样 ...

  8. css--左右visibility建立 “collapse”值问题

    1.您可能已使用visibility一千次,最常用的是visible和hidden.它用来显示或隐藏元素. 有第三很少已使用的值它是collapse,在表格的行,列中使用有差异外,他和hidden的作 ...

  9. Windows Azure应用系列:微软的云部署VPN

    本文介绍如何使用OpenVPN微软云计算server既定VPN维修. 过程,如下面: 1.新建Linux或者Ubuntu虚拟机.并设置port.(本文将建立Ubuntu作为演示) 2.利用PuTTY登 ...

  10. 搭建SSH

    搭建SSH详细步骤及相关说明   因为手里已有相关jar,为方便我搭建的是:Struts2.0+Hibernate3.3+Spring3.0,数据库:MySQL 如果想搭建最新的,在官网上下载最新ja ...