• git使用总结


    一、安装

    $ sudo apt-get install git  ubuntuxia

    windows下使用msysgit

    二、使用

    1.配置

      $git config --global user.name "xxx"

      $git config --global user.email "abc@qq.com"

    2.创建仓库

      cd  learngit/

      $ git init

    3.添加文件到仓库

      $ git add filename

    4.把文件提交到仓库

      $git commit -m "输入操作的描述"   添加和提交的过程类似于关系型数据库的事务提交一样

    5.查看工作区状态

      $git status

      $git diff HEAD -- 'filename' 查看工作区和master区的区别

    6.查看提交历史/查看所有历史命令

      $ git log     /$git --pretty=oneline

      $ git reflog 查看所有历史命令

    7.版本退回

      $ git reset --hard HEAD^ HEAD是当前版本,^是前一版本

      $git reset --hard 123456    每次提交的sha1码的开头一段数字

      $ git reset --hard HEAD^^   ^^是前两个版本

    8.撤销修改

      $ git checkout -- 'filename'  从工作区撤销前面的操作

      $git reset  HEAD 'filename' 从暂存区撤回到工作区

    9.删除文件

      $git rm 'filename' 删除暂存区的文件

      $git commit -m 提交删除操作

    10.将本地库添加到远程库

      $ git remote add origin git@github.com:michaelliao/learngit.git 

      $ git push -u origin master 把本地库的内容推送到远程(初次 -u)

      $ git push origin master 后续推送

    11.从远程库克隆到本地

      $git clone git@github.com:zhangjpn/learngit.git

    12.创建和使用分支

      查看分支:git branch

      创建分支:git branch <name>

      切换分支:git checkout <name>

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

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

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

    13.分支冲突管理

      合并时会出现冲突提示,要手动处理

    14.分支管理策略

      合并分支默认使用fast-forward模式

      $git merge  --no-ff -m 'merge with no-ff' dev 以非ff模式合并,保留分支信息,可以继续在分支上进行迭代

      $ git log --graph --pretty=oneline --abbrev-commit 查看分支信息

    15.处理bug与工作区现场保留

      $ git stash 将当前工作区冻结起来,类似于放入了一个栈中

      $ git stash pop 将冻结的工作区放回到当前工作区

      $ git stash apply 将冻结的工作区放回到当前工作区,但并不删除,需要手动删除,也可以多次apply

      $ git stash drop 将冻结的工作区删掉,

      $ git stash list 查看冻结的工作区

    16.删除分支

      $ git branch -d xxx

      $ git branch -D 强行删除分支  在没有合并的情况下

    17.分支推送到远程库

      $ git push origin master   默认远程仓库是origin 本地分支是master/dev

      $ git push origin dev

      

    18.标签管理

      $ git tag  展示标签列表

      $ git show tagname  展示标签信息

      $ git tag v1.0  在最新的commit上打标签

      $ git tag v1.0 124323123 在某个commit上打标签

      $ git tag -a v1.0 -m 'xxxx'   12343423  在标签上添加说明

      $ git tag -s .... 使用私钥签名一个标签 不要使用pgp签名用PGP签名的标签是不可伪造的,因为可以验证PGP签名

      $ git tag -d tagname 删除一个本地标签

      $ git push origin tagname 推送一个标签到远程

      $ git push origin --tags 推送所有标签到远程

      $ git push origin :refs/tags/tagname 删除远程的一个标签

    18.参与开源项目中

      从开源项目fork(分支)到自己仓库,然后将内容clone到自己本地仓库。

      从自己的账号pull request请求到开源项目master上

    19.git配置设置

      $ git config --global color.ui true

    20.特殊文件忽略

      在工作区根目录下创建.gitignore文件

      在文件中添加需要忽略的特殊文件名

      # Windows:

      Thumbs.db

      ehthumbs.db

      Desktop.ini

      # Python:

      *.py[cod]

      *.so

      *.egg

      *.egg-info

      dist

      build

      # My configurations:

      db.ini

      deploy_key_rsa

      强制commit忽略的文件  git add -f filename

      $ git check-ignore -v App.class  检查忽略的文件所对应的规则

    21.别名配置(无法起效)

      $ git config --global alias.别名  命令

      $git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

      当前仓库配置文件.git/config

      当前用户配置文件/home/username/.gitconfig 对应global

    22.搭建git服务器

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000

  • 相关阅读:
    mysql 主从复制
    confluence wiki搭建使用
    python 解析json loads dumps
    在linux下修改mysql的root密码
    [转]量子恒道统计
    php include
    php solr 查询
    php solr 扩展
    IKAnalyzer 和 solr4.3 冲突
    solr 4.3.0 配置
  • 原文地址:https://www.cnblogs.com/zhangjpn/p/6806162.html
Copyright © 2020-2023  润新知