zoukankan      html  css  js  c++  java
  • git操作

    git中的基本概念

    1.工作目录: workplace ,git 直接忽略

    2.暂存区:stage,开始纳入git记录,没有history

         git add file.txt/ git add . :让文件从工作目录跳到暂存区(文件没有移动位置,只是被标记为纳入git记录)

    3.本地仓库 Local,纳入版本控制。在工作目录的.git目录下(在本地)

         git commit/git commit file.txt: add命令只是说我将要对它进行版本控制,commit就是提交了一个版本

    4.远程仓库 Remote(可能在远程服务器,可以是ssh/git/https/file协议)

       git push/git push origin master:master

    ---某些操作(本地操作,远程操作)

    1. $ git init

    2. $ git status  (绿色:已经被记录,红色:未被记录)

    3. $ git commit 不跟任何参数,默认commit上一次add的所有内容

    ----如何生成SSH公钥?

     某个目录下打开git bash.

    1. 查看是否已经有这个目录,命令:ls -al ~/.ssh

    2. 生成新的ssh key: ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    3. cat ~/.ssh/id_rsa.pub :获取ssh 内容

    ---创建远程仓库?(coding.net 上自动创建空远程仓库)

        本地创建远程仓库,与远程的仓库发生联系。

    ---创建本地仓库

        git init

    --两个仓库关联(若无配置,本地push时报错,无push 目标)

    git remote add origin git@xx.git
    此时若直接push报错:push default 未设置
    git config --global push.default matching
    git config --global push.default simple
    运行 git push -u origin master  (origin 是远程的仓库名,master 是远程的分支,本地只有一个仓库.git,没有名字,本地的仓库可以push到不同的远程仓库上
    ---覆盖之前设置的远程仓库路径
    git remote set -url origin git@....
    --git clone
    远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令。
    $ git clone <版本库的网址>

        比如,克隆jQuery的版本库。

    $ git clone https://github.com/jquery/jquery.git

    ---git pull/git fetch 的区别
    git pull= git fetch+ git metch
    git pull 是把内容从网上拉下来,并merge到本地的master分支中。
    fetch是把内容从网上拉下来放到本地仓库里,但是并不放到工作目录里。使用fetch可以自己使用merge功能,eg. git merge origin/master

    --新建远程分支
    git branch b1 :新建本地分支
    git checkout b1 :切换到b1分支
    git push origin b1 :push 远程分支
    git checkout master
    git merge b1 --合并分支内容到master
    git push :push master
    git push origin :b1 --删除远程分支(把一个空的内容Push到b1)
    git branch -d b1 --删除本地分支

    总结: 本地新建分支:git branch 分支名
    git push origin xxx:yyy xxx:本地分支名称 yyy:远程分支名 push分支到远程

    ---新建tag(tag作用:给commit 起名字)
    新建tag命令:git tab t1
    push tag命令:git push --tags
    回到打tag状态:git checkout t1

    tag作用:方便快速查找一个commit。给一个重要的时刻打一个标记,方便以后回到这里来。

    --git其他命令
    1.git reset HEAD
    2.git reset --hard HEAD
    eg . git pull
    反悔:1.git reset 1a45dd :所有这个commit之后的内容都认为是变更内容。即工作目录内容没变,
    .git仓库认为最新的内容就是我reset的那个commit。
    2.git reset --hard la45dd: 真的反悔了,改变了工作目录的内容。
    git push --force :可以强制push 2的改动,有危险。

     

  • 相关阅读:
    mysql笔记
    ssh学习笔记
    oracle数据向历史表数据迁移————procedure
    关于避免模糊查询索引时效问题
    css圣杯布局和双飞翼布局篇
    什么是hasLayout
    高度自适应的水平垂直居中布局
    MAC的GIF动图录屏软件LICECAP
    sublime text 快捷键shortcuts
    为表格合并边框的样式
  • 原文地址:https://www.cnblogs.com/xuezhi/p/5191074.html
Copyright © 2011-2022 走看看