git 使用(二)
之前写过一篇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 使用(二)的更多相关文章
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- 版本控制git之二 分支 切换分支 创建分支 合并 删除
版本控制git之二 分支 有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处 ...
- Git(二)Git几个区的关系与Git和GitHub的关联
前言 前面只是大概的介绍了一点基础的东西,接下来会更加深入的去了解一下Git. 一.Git的工作区.暂存区和版本库之间的区别和联系 1)工作区 在PC中能看得到的创建的一个管理仓库的目录.比如目录下G ...
- 【Git学习二】深入了解git checkout命令
检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区.检出命令的用法如下: 用法一:git checkout[-q][<commit& ...
- Git(二)使用git管理文件版本(TortoiseGit )
一.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...
- 【Git】二、安装配置
一.Git安装 Linux $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev $ ap ...
- git学习——<二>git配置文件
一.git所有配置文件 <一>./etc/gitconfig全局配置文件 修改该配置文件,会对所有用户有影响. 使用git config --system来配置该文件 <二>. ...
- Git系列二之数据管理
1.Git基本管理 git常用的基本操作 1.1提交数据 我们可以简单的把工作目录理解成是一个被Git服务程序管理的目录,Git会时刻的追踪目录内文件的改动,另外在安装好了Git服务程序后,默认就会创 ...
- 分布式版本号控制系统Git(二):github
前言 但凡是喜欢研究技术,或者听大牛们说起过的,都应该至少是听过github这个东西.详细就不介绍了.不了解的能够去了解了解,最基本的功能当然是代码托管啦,上面有各种各样的大牛写的项目. 另外这一章不 ...
- Git学习二
一.在工作区和暂存区退回 在工作区: $git checkout -- filename 在暂存区: $git reset HEAD filename $git checkout -- filenam ...
随机推荐
- 网站中的专题页或者tag聚合页的权重不错
一.据最近的一些观察,觉得网站中的专题页或者tag聚合页的权重不错,因此多给网站制作一些专题页面,不仅有利于聚合站内的文章,更是绝对的原创内容,应该会受到百度的青睐.简评:关于权重的讨论,这篇无疑是很 ...
- python 单元测试-unittest
参考资料:https://docs.python.org/3.4/library/unittest.html#module-unittest 一张图解决问题: 涉及5块内容:case.suite.lo ...
- SqlServer 临时表、表变量、函数 替代游标
http://www.cnblogs.com/chongzi/archive/2011/01/19/1939106.html 临时表 存放在tempdb中 --存储过程中将多表连接结果写入到临时表中, ...
- 01.FastDFS的安装部署
1.FastDFS简介 (1)FastDFS的功能介绍 FastDFS是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负 ...
- 【转载】Web应用工作原理
问题描述: Web应用工作原理 问题解决: 参考资料:http://blog.csdn.net/lcore/article/details/8964642 ...
- java加载机制整理
本文是根据李刚的<疯狂讲义>作的笔记,程序有的地方做了修改,特别是路径,一直在混淆,浪费了好多时间!!希望懂的同学能够指导本人,感激尽............ 1.jvm 和 类的关系 当 ...
- [百度空间] [原]跨平台编程注意事项(二): windows下 x86到x64的移植
之前转的: 将程序移植到64位Windows 还有自己乱写的一篇: 跨平台编程注意事项(一) 之前对于x64平台的移植都是纸上谈兵,算是前期准备工作, 但起码在写代码时,已经非常注意了.所以现在移植起 ...
- 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果
利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...
- eclipse git 整合
最近朋友都推荐使用github管理自己的项目,而且免费用户可以有5个仓库,恰好我也想了解下git,借此机会学习一下.github官方指南使用独立第三方git工具来进行版本控制,并不借助于eclipse ...
- c3p0 --2
c3p0号称是java界最好的数据池. c3p0的配置方式分为三种,分别是 1.setters一个个地设置各个配置项 2.类路径下提供一个c3p0.properties文件 3.类路径下提供一个c3p ...