之前写过一篇git使用(一),那是入门篇,现在的(二)可以说是进阶篇吧,主要讲一些使用过程的注意事件及相关问题的解决办法。

  一、push和fetch还需要输入用户名和密码?

  解决办法:看看公玥是否添加成功,输入ssh -T git@git.oschina.net,若返回Welcome to Git@OSC, yourname! 则添加成功。如果成功,则进入.git/目录改一下config文件里的url参数,把https地址改成ssh地址。

  二、更新代码

  1、git fetch,更新远端代码到本地缓存;

  2、git rebase,将本地缓存中最新代码合并到当前分支。

  上面的2步可以用git pull代替,但是,禁止使用 git pull 和 git merge 来更新与合并代码,因为会产生多余的log 在工作目录clean的时候执行合并操作。

  如果要把远程分支合并到本地分支,就进入本地分支后git rebase origin/分支名。

  三、提交代码

  1、git add <your_file>从工作目录提交代码到本地缓存;

  2、git commit -m "相关说明"提交add后的文件到本地当前分支;相关说明不超过80字符。如果超过,就commit时不加-m参数,在弹出界面第一行写简略标题,然后空一行,从第三行开始以段落形式写详细描述。完成以后输入 :wq 保存退出。

  3、如果所有修改过的文件都要提交,包括有删除的文件可以直接使用git commit -a(git add + git commit);

  4、如果要修改当前分支上一条提交 比如发现message错误,或少提交一个修改的文件,git add <your_file>后git commit --amend。(前提是还没有push,否则会起冲突)

  5、git push推送本地当前分支最新commit到远端仓库

   建立关联:如果要push到远程master分支,就git push origin master,如果要push到远程的其他分支,就git push origin xxx(xxx代表远程分支名)。

     未关联:git push origin local_branch:remote_branch

   local_branch为本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支。类似,git push origin :remote_branch,local_branch留空的话则是删除远程remote_branch分支。

  四、分支

  1、git branch -a查看所有分支(包括远程分支,显示为红色);

  2、git checkout xxx 切换到分支xxx;

  3、git checkout -b xxx 新建本地分支xxx并切换到分支xxx;

  4、git checkout -b xxx origin/XXX 新建本地分支xxx并切换到分支xxx,并把远程分支XXX更新到xxx;

  5、git branch -d xxx 删除本地分支xxx(删除失败时把-d参数改为-D);

  6、合并xxx分支到master,首先切换到master分支,然后git merge xxx;

  7、删除远端分之后本地branch -a还能显示已删除的远端分支时?git fetch -p即可解决问题(-p, --prune           prune remote-tracking branches no longer on remote);

  五、遇到不好解决的问题,重新clone。然后如果发现需要输用户名和密码,就参考第一条解决方案。

git 使用(二)的更多相关文章

  1. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  2. 版本控制git之二 分支 切换分支 创建分支 合并 删除

      版本控制git之二 分支   有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处 ...

  3. Git(二)Git几个区的关系与Git和GitHub的关联

    前言 前面只是大概的介绍了一点基础的东西,接下来会更加深入的去了解一下Git. 一.Git的工作区.暂存区和版本库之间的区别和联系 1)工作区 在PC中能看得到的创建的一个管理仓库的目录.比如目录下G ...

  4. 【Git学习二】深入了解git checkout命令

    检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区.检出命令的用法如下: 用法一:git checkout[-q][<commit& ...

  5. Git(二)使用git管理文件版本(TortoiseGit )

    一.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...

  6. 【Git】二、安装配置

    一.Git安装 Linux $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ ap ...

  7. git学习——<二>git配置文件

    一.git所有配置文件 <一>./etc/gitconfig全局配置文件 修改该配置文件,会对所有用户有影响. 使用git config --system来配置该文件 <二>. ...

  8. Git系列二之数据管理

    1.Git基本管理 git常用的基本操作 1.1提交数据 我们可以简单的把工作目录理解成是一个被Git服务程序管理的目录,Git会时刻的追踪目录内文件的改动,另外在安装好了Git服务程序后,默认就会创 ...

  9. 分布式版本号控制系统Git(二):github

    前言 但凡是喜欢研究技术,或者听大牛们说起过的,都应该至少是听过github这个东西.详细就不介绍了.不了解的能够去了解了解,最基本的功能当然是代码托管啦,上面有各种各样的大牛写的项目. 另外这一章不 ...

  10. Git学习二

    一.在工作区和暂存区退回 在工作区: $git checkout -- filename 在暂存区: $git reset HEAD filename $git checkout -- filenam ...

随机推荐

  1. 网站中的专题页或者tag聚合页的权重不错

    一.据最近的一些观察,觉得网站中的专题页或者tag聚合页的权重不错,因此多给网站制作一些专题页面,不仅有利于聚合站内的文章,更是绝对的原创内容,应该会受到百度的青睐.简评:关于权重的讨论,这篇无疑是很 ...

  2. python 单元测试-unittest

    参考资料:https://docs.python.org/3.4/library/unittest.html#module-unittest 一张图解决问题: 涉及5块内容:case.suite.lo ...

  3. SqlServer 临时表、表变量、函数 替代游标

    http://www.cnblogs.com/chongzi/archive/2011/01/19/1939106.html 临时表 存放在tempdb中 --存储过程中将多表连接结果写入到临时表中, ...

  4. 01.FastDFS的安装部署

    1.FastDFS简介 (1)FastDFS的功能介绍 FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负 ...

  5. 【转载】Web应用工作原理

    问题描述:           Web应用工作原理   问题解决:          参考资料:http://blog.csdn.net/lcore/article/details/8964642   ...

  6. java加载机制整理

    本文是根据李刚的<疯狂讲义>作的笔记,程序有的地方做了修改,特别是路径,一直在混淆,浪费了好多时间!!希望懂的同学能够指导本人,感激尽............ 1.jvm 和 类的关系 当 ...

  7. [百度空间] [原]跨平台编程注意事项(二): windows下 x86到x64的移植

    之前转的: 将程序移植到64位Windows 还有自己乱写的一篇: 跨平台编程注意事项(一) 之前对于x64平台的移植都是纸上谈兵,算是前期准备工作, 但起码在写代码时,已经非常注意了.所以现在移植起 ...

  8. 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果

    利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...

  9. eclipse git 整合

    最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下.github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclipse ...

  10. c3p0 --2

    c3p0号称是java界最好的数据池. c3p0的配置方式分为三种,分别是 1.setters一个个地设置各个配置项 2.类路径下提供一个c3p0.properties文件 3.类路径下提供一个c3p ...