git使用(1)

首先要明白git上有三个区域

1.工作区

2.暂存区

3.历史记录区

步骤:

1.git  init

2.配置环境(如果配置一次了以后就不用再继续配置)

git  config  --global  user.name  “username”

git  config  --global  user.email  “email”

3.在本地版本库设置远程版本库的别名:

git  remote  add  版本库别名  <库地址>

比如:git  remote  add  origin  项目链接

git  remote  -v : 显示远程仓库信息

假如遇到错误提示:fatal: remote origin already exists.

解决:git  remote  rm  origin  ,然后再执行前面的add操作

4.显示当前分支

git  branch  -a     ---显示所有分支

git  branch  -r      ---显示远程分支

5.假如在此时新增分支会报错:fatal: Not a valid object name: 'master'

应该先commit

git  commit –m  ”注释“

6.添加本地分支

git  branch  本地分支名字

7.切换分支

git  checkout  本地分支名

假如要把6、7步合并:git  checkout  -b  本地分支名

这样就创建新分支的同时立即切换到刚创建好的分支

8.添加本地文件到暂存区

git  add  文件名(如果添加整个目录就加入-A参数,假如要进入该目录下推送目录内的文件,要重新操作前面的commit和checkout)

然后再commit

9.推送暂存区到远程

git  push  origin  本地分支:远程分支        (远程分支可以不填)

如果远程分支不写,则表示将本地分支推送与之存在跟踪关系的远程分支(一般同名),如果该远程分支不存在,会自动创建

比如git  push  origin  master

上面的命令就是把本地的master分支推送到origin主机的master分支,如果后面的那个master不存在,那么就会自动创建

如果遇到   错误提示:error:failed to push som refs to.......

解决:git  pull  origin  分支名   ----先把远程仓库的文件拉到本地,再push

假如从master创建一个新分支(假设叫test),使用git  push origin master提交,显示'Everything up-to-date'

原因是git  push origin master在没有跟踪远程分支的本地分支默认提交了master分支,因为master分支默认指向origin  master分支,这时应该要:

git  push origin  test:master

git push origin test:master         // 提交本地test分支作为远程的master分支

git push origin test:test              // 提交本地test分支作为远程的test分支

git push origin :test                 //远程分支被删除,但是本地分支保存

git  push  origin  --delete  test     //同上

如果想节省后续操作,可以试试

git  push  -u  origin  master        //指定origin为主机,后续操作就不用加参数了,直接使用git  push(对于同个目录)

如果要把本地所有分支都推送到主机origin:

git  push  -all  origin

如果要附带标签:

git  push  origin  --tags

10.修改冲突或更新文件

(从任意远程版本库中取来修改变化,并合并到当前检出的本地分支)

假如本地更新了文件再push,远程没有更新,会发送冲突,使用

git pull origin 远程分支:本地分支

把远程文件拉到本地与本地分支合并

修改之后要再commit再推送

如果远程分支和当前本地分支合并,冒号后面的可以省略(类似先git  fetch再git  merge)

实际上pull命令并不是很安全(建议用fetch(它取回的代码对你本地的开发代码没有影响)和merge),如果远程删除某个分支,默认git  pull不会在拉取远程分支时删除对应的本地分支。但是如果加上参数-p(git  pull  -p)就会在本地删除远程已经删除的分支

这样的命令也类似:

git  fetch  --prune  origin

git   fetch  -p

修改远程仓库:git  remote  set-url   origin  新链接地址

git的跟踪关系:

某些情况下,git自动在本地和远程分支之间建立的,比如在git  clone的时候所有的本地分支默认就是与远程主机origin的同名分支建立跟踪关系,本地分支将自动跟踪远程分支,比如主分支,本地master分支就会跟着origin/master

你也可以手动设置跟踪关系:

git branch --set-upstream master origin/test

本地master分支跟踪远程origin/test

就像前面的pull操作,可以直接用

git pull origin

当前本地分支自动和它跟踪的远程分支(针对建立了跟踪关系的适用)进行合并

如果当前的本地分支只有一个跟踪的远程分支

git  pull

主机名都可以省略

按照上面的步骤基本能完成一个简单的推送

参考:http://www.cnblogs.com/springbarley/archive/2012/11/03/2752984.html

(git常用命令)

http://rongjih.blog.163.com/blog/static/335744612010112562833316/

(Git常用操作命令,很全)

https://segmentfault.com/a/1190000003076490#articleHeader13

(Git学习总结,带图解)

http://josh-persistence.iteye.com/blog/2215214

(详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别)

Technorati Tags: git

git使用(1)----推送代码到远程的更多相关文章

  1. Git撤回已经推送(push)至远程仓库提交(commit)的版本

    背景 所以,经常会遇到已经提交远程仓库,但是又不是我想要的版本,要撤下来. 回退版本一般使用git reset,又分为: # 不删除工作空间改动代码,撤销commit,不撤销git add . git ...

  2. xcode 版本控制推送代码到远程git仓库的步骤

    一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终 ...

  3. git 推送代码到远程端

    git init git add . git commit -m "first commit" git remote add origin "地址" git p ...

  4. 【Git使用】强制推送代码到多个远程仓库

    只吃了一个香蕉的晚上 一直预报的台风没有来,大盘也飘红了,世界好像变得越来越美好了似的.前两天,晚上下班坐地铁回家,靠在地铁门上看书,竟然坐到了终点站已全然不知,我也不知道我怎么了.怎么了.怎么了!最 ...

  5. 使用git推送代码到开源中国以及IDEA环境下使用git

    使用git推送代码到开源中国以及IDEA环境下使用git 在学习Java的过程中我们会使用到git这个工具来将我们本周所编写的代码上传到开源中国进行代码托管,而在使用git的时候有很多的同学由于不会操 ...

  6. Git 推送和删除远程标签

    事实上Git 的推送和删除远程标签命令是相同的,删除操作实际上就是推送空的源标签refs: git push origin 标签名 相当于 git push origin refs/tags/源标签名 ...

  7. 推送代码分支时出现:fatal: 'origin' does not appear to be a git repository

    关于ubuntu进行提交本地分支到远程库出现问题: 解决方案: 执行如下命令: git remote add origin git@github.com:yourusername/test.git y ...

  8. git 打tag(版本)、推送代码

    服务端:192.168.0.96 gitlab 客户端:192.168.0.97 git 服务端gitlab安装请参照: https://www.cnblogs.com/effortsing/p/10 ...

  9. git 创建标签推送远程分支

    目录 git 创建标签推送远程分支 查看tag 创建tag 推送标签到远程仓库 删除tag git 创建标签推送远程分支 标签概念: tag, 对于迭代频繁的项目. 每一个标签可以理解为一个版本. 创 ...

随机推荐

  1. Sqlserver学习研究

    关注关键词 :Sqlserver实用工具配置步骤 1)创建实用工具控制点(UCP) 2)连接到现有UCP 3)相UCP注册SQL Server实例 4)创建数据层应用程序 5)设置资源运行状况策略 6 ...

  2. HTML5 <meta> 标签属性,所有meta用法

    基本标签 声明文档使用的字符编码:<meta charset="utf-8" /> 声明文档的兼容模式:<meta http-equiv="X-UA-C ...

  3. lintcode-120-单词接龙

    120-单词接龙 给出两个单词(start和end)和一个字典,找到从start到end的最短转换序列 比如: 每次只能改变一个字母. 变换过程中的中间单词必须在字典中出现. 注意事项 如果没有转换序 ...

  4. Swift-switch使用注意点

    1.swift后面的()可以省略 2.case后面的额break可以省略 3.如果想产生case穿透使用fallthrough 4.case后面可以判断多个条件","分割 5.sw ...

  5. url传带有汉字的参数乱码解决

    url传带有汉字的参数乱码解决 var reg = new RegExp("(^|&)createName=([^&]*)(&|$)"); var r = ...

  6. android android.mk中:= ?= +=之间的区别

    转自:http://blog.csdn.net/love_xsq/article/details/50395138 在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什 ...

  7. C#和Java访问修饰符的比较

    访问修饰符对于C#:类 的默认修饰符是 internal(外部类只能被public / internal 修饰)枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符接口 的默认修饰符是 i ...

  8. 【C++】C++函数重载的总结

    函数重载: 出现在相同作用域中的两个函数,如果具有相同的名字而形参表不同,则称为重载函数(overloaded function).一定要注意函数重载的两个关键词:形参列表和作用域. 任何程序有且仅有 ...

  9. bootstrap 中的静态模式的控制按钮上的一个坑

    在使用modal时发现,代码:<button class="btn btn-danger" data-toggle="modal" data-target ...

  10. Solr实现SQL的查询与统计--转载

    原文地址:http://shiyanjun.cn/archives/78.html Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala,只要熟悉SQL,就可以熟练地使用I ...