zoukankan      html  css  js  c++  java
  • git


    工作区:编辑的文件 暂存区 add之后

    $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
        填写地址

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    git init  创建版本库 
    git add 文件夹/  将文件夹添加到仓库
    git add  将文件添加到仓库
    git add .  将目录下所有文件添加到仓库
    git commit -m "wrote a readme file"   将文件提交到仓库
    1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
    2. 使用命令git commit -m <message>,完成。
     
    git status  查看仓库当前状态
    git diff  查看不同
    git log  查看版本库状态
    git log --pretty=oneline  查看版本库状态 (简洁)
    cat readme.txt    查看文件内容
    git reset --hard HEAD^    回到上一个版本
    git reset --hard commit_id  指定回到某个版本
    git reflog  查看命令历史

      Untracked  未被添加过 新文件
    git diff HEAD -- readme.txt   查看工作区和版本里最新版本的区别
    git checkout -- readme.txt  放弃工作区的修改  回退上一步
    git reset HEAD readme.txt  撤销暂存区的修改 回到工作区

    rm test.txt 本地删除文件  删除之后版本库中还是存在的  (工作区删除)
    git rm test.txt 提交到暂存区(通过撤销暂存区的修改可恢复) 暂存区里通过commit提交到版本库   从版本库中删除  删除后就彻底删除了 (可通过版本回退恢复)
    git checkout -- test.txt  从版本库中恢复最新版本(撤销工作区的修改)



    远程仓库
    $ ssh-keygen -t rsa -C "youremail@example.com"  创建ssh key


    在github上create new repository之后 就可以添加远程仓库
    git remote add origin git@github.com:1988-jm/1988-jm.github.io.git  添加远程仓库
    git remote  查看远程仓库的信息
    git remote -v  显示更详细的信息 
    git remote rm origin  删除远程库
    git push -u origin master  把本地库的内容推送到远程    
    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,
    还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    git push origin master(dev)  从本地推送分支

    如果推送失败 说明远程分支更新,用git pull试图合并 如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,
    用命令
    git branch --set-upstream-to=origin/dev dev

    提示
    refusing to merge unrelated histories 拒绝合并不相关历史 可以使用 git pull --allow-unrelated-histories 将远程仓库合并到本地仓库
    
    

      git clone git@github.com:1988-jm/gitskills.git  从远程仓库克隆到本地


    分支

      查看分支:git branch

      创建分支:git branch <name>    分支创建完成更改完成后 需要add 并且commit 

      切换分支:git checkout <name>

      创建+切换分支:git checkout -b <name>

      合并某分支到当前分支:git merge <name>

      删除分支:git branch -d <name> 

    
    
    git checkout -b dev origin/dev  创建远程分支到本地
    git log --graph  查看分支合并图 
    git log --graph --pretty=oneline --abbrev-commit    查看分支合并图 
    git merge --no-ff -m "merge with no-ff" dev  合并分支  不使用Fast forward  可看到历史分支 (git默认合并是 Fast forward模式 删除分支后会丢掉分支信息)
    )



    工作现场
    git stash  存储当前工作现场
    git stash list  查看保存的工作现场
    git stash pop  恢复工作现场  并删除stash    
    git stash apply     恢复工作现场  stash不删除
    git stash apply stash@{0}  恢复指定工作现场  stash不删除 (多个的情况下)

    git stash drop  删除stash
    git branch -D feature-vulcan      大写的D  强行删除没有被合并的分支



    rebase

      rebase操作可以把本地未push的分叉提交历史整理成直线;
      rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。


    标签
    git tag v1.0    新建标签
    git tag  查看所有标签
    git tag v0.9 commit_id为指定commit打标签
    git show v0.9  查看标签信息

    还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

    $ git tag -a v0.1 -m "version 0.1 released" 1094adb

    git tag -d v0.1  本地删除标签
     git push origin v1.0  推送标签到远程
    git push origin --tags 推送所有未推送的标签


    如果标签已经推送到远程 需要本地和远程同时删除
    git push origin :refs/tags/v0.9  从远程删除
     

    .gitignore 
    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
    git check-ignore  检查文件问题
    git config --global alias.st status  设置简写别名
     


        
     
     
     
     
     
  • 相关阅读:
    hibernate关联关系映射
    java单例模式
    HTML如何给table添加滚动条
    jquery的几种ajax方式对比
    JQuery Selectors 方法说明
    jQuery遍历对象/数组/集合
    Jquery常用函数
    【刷题】【省选】ZJOI2017_仙人掌_LOJ2250/Luogu3687_圆方树/dp计数/树形dp
    【学习笔记】圆方树学习笔记
    【模板】【刷题】差分与前缀和_LuoguP5488_多项式
  • 原文地址:https://www.cnblogs.com/xiumumi/p/9834117.html
Copyright © 2011-2022 走看看