• git使用(1)----推送代码到远程


    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:
  • 相关阅读:
    【C语言程序设计】C语言渔夫打鱼晒网问题!
    【C语言】很少人真正了解 和 有什么区别!
    【C语言程序设计】C语言求亲密数!
    新手程序员该如何打造自己的个人品牌!谨记,共勉!
    【C语言程序设计】利用数组解决线性代数中的矩阵转置问题!
    【程序员段子】程序员太苦逼了,苍天啊!请给我一次重新择业的机会吧!
    27. Remove Element
    Leetcode Scratching Recorder
    Activity---弹出右侧窗口
    ViewPageIndicator--仿网易的使用
  • 原文地址:https://www.cnblogs.com/simonid/p/6363661.html
Copyright © 2020-2023  润新知