您的位置:首页 > 其它

About Git 命令(dpkg)在日常开发中使用总结,以及优秀的配套开发工具的相关介绍

2020-04-02 19:05 525 查看

文章目录

  • 三、Git配合使用编辑器(ST3&SM)
  • 一、Git-dpkg速查表

    二、Git日常开发使用中的总结

    1、本地Git环境初始化

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda
    $ git config --global user.name "chenqi"
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda
    $ git config --global user.email chenqi@ccpd.com.cn
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda
    $ ssh-keygen -t rsa -C "chenqi@ccpd.com.cn"
    Generating public/private rsa key pair.
    Enter file in which to save the key (/d/Users/PD000731_陈麒/.ssh/id_rsa):
    Created directory '/d/Users/PD000731_陈麒/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /d/Users/PD000731_陈麒/.ssh/id_rsa.
    Your public key has been saved in /d/Users/PD000731_陈麒/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:RoyMidaMk+2AkFgzk/qmEZKbd790R2hT9p0phit02UU chenqi@ccpd.com.cn
    The key's randomart image is':
    +---[RSA 3072]----+
    |oo=.          E  |
    |+..@ + o     .   |
    |.oB * o o o   .  |
    |=. +   . + = o o |
    |.=  .   S = = +  |
    |+ + .  + + o .   |
    | = . .. o o      |
    |.    ... o       |
    |      ..         |
    +----[SHA256]-----+
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda
    $ clip < ~/.ssh/id_rsa.pub

    命令

    clip < ~/.ssh/id_rsa.pub
    复制本地SSH公钥到GitHub或GitLab设置SSH keys,之后才可以进行远程托管的
    push or pull

    2、初始化本地资源库

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda
    $ git init
    Initialized empty Git repository in D:/CCPD-G8.6/Panda/.git/
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $

    3、Github远程托管记住密码设置

    #Remember User&Password
    git config --global credential.helper store
    #Clear User&Password
    git config --global credential.helper wincred

    设置后,本地Git会记住你GitHub的用户名和密码,方便自己持续托管和获取。

    4、Git dpkg常用总结

    git <command> --help #查看命令文档
    
    #设置Git:
    git config --global user.name "chenqi"
    git config --global user.email "chenqi@ccpd.com.cn"
    git config --global --list
    ssh-keygen -t rsa -C "chenqi@ccpd.com.cn"
    clip < ~/.ssh/id_rsa.pub
    
    #初始化及使用Git
    git init
    git remote add origin https://github.com/Qichen-Kylin/panda.git
    git clone git@10.80.36.30:edw-etl/kettle.git  (ssh)
    git clone https://github.com/Qichen-Kylin/Panda.git #(http[s])
    git status
    git add FileName [/] #(全部: . / -A / -all)
    git status
    
    #简短的输出格式,看文件状态
    git status -s
    [git restore --staged Added-Filename]
    git commit -m "Add explain"
    git status
    
    #推送 Push
    git push [-u origin master]
    
    #查看日志
    git log
    git log --oneline   #简洁版本
    git log --oneline --graph  #开启拓补图的简洁版
    git log --reverse --oneline  #逆向显示日志,就是时间先后
    git log --author=chenqi --oneline -5 #指定用户查看
    git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges
    
    #比较不同
    git diff
    diff --git a/README.md b/README.md
    
    #git检测跟踪规则定义文件
    vim .gitignore
    
    #分支
    git branch
    git branch branchname
    
    #rename
    git mv Git\ Init.pdf Git-Init.pdf
    
    #tag标签
    git tag
    git tag -a V_1.0.0 -m "GitHub V_1.0.0"
    git push origin V_1.0.0
    
    #拉取托管平台文件
    git pull
    git pull origin master
    
    #查看远程资源库信息
    git remote show origin
    git remote -v
    
    #重置头标
    git reset --hard FETCH_HEAD
    git reset HEAD portal/.gitignore
    
    #Git下使用Linux命令
    git rm Git Com.txt
    git rm portal/sourcecode
    
    #Git撤销Commit
    #删除本地仓库中文件,Git push拒绝100M以上文件,建议不超50M
    git log  #找到需要撤销的commit id
    git reset --hard <commit_id>
    git push origin HEAD --force
    
    #Git删除远程托管文件或文件夹
    git rm [-r] --cached ccpd/mercury
    git commit -m "Delete"
    git push

    5、Git命令history查询处理得到常用dpkg

    ======================================================
    
    #文件处理(bash)
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ history > history.txt
    #删除文本中数字--这里目的是删除行号
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ cat history.txt | tr -d '0-9' > tr-history.txt
    #排序文本中的行
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ sort tr-history.txt > sort-history.txt
    #删除文本中的重复行
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ cat sort-history.txt | uniq > uniq_history.txt
    #删除文本中每行开头的空格
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ sed -i 's/^[ ]*//g' uniq_history.txt
    
    =======================================================

    这部分是Linux shell处理文本命令的使用。上边Git dpkg就是通过这一通操作总结下来的。

    6、删除本地不想托管的项目

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ rm -rf pentaho-kettle/
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git rm -r pentaho-kettle/
    #恢复git rm
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git restore --staged pentaho-kettle/
    #Merge Branch
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git commit -m "Merge"
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git push [-u origin master]

    7、团队开发中分支管理与删除

    7.1 开发中标准参考

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git checkout -b develop
    #Switched to a new branch 'develop'
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git checkout -b feature develop
    #特性分支 feature
    #可能派发自:develop
    #必须合并回:develop
    #分支命名规范:除了 master、develop、release-* 或 hotfix-* 的任何名字
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git checkout -b release develop
    #版本分支
    #可能派发自:develop
    #必须合并回:develop 和 master
    #分支命名规范:release-*
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git checkout -b hotfix develop
    #补丁分支
    #可能派发自:master
    #必须合并回:develop 和 master
    #分支命名规范:hotfix-*

    7.2 实操创建协助分支

    1. 创建并且切换分支

    **develop与master分支并行**
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git checkout -b chenqi develop
    
    **add、commit、push 等操作**
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (chenqi)
    $ git push -u origin chenqi

    2. 切换主分支并合并

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (chenqi)
    $ git checkout master
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git merge --no-ff -m "Merge" chenqi
    
    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git push -u origin master

    7.3 实操删除协助分支

    1. 查看本地分支

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda/edwetl_rep (master)
    $ git branch
    chenqi
    * master

    2. 查看本地及远程分支

    PD000731_陈麒@IT-13 MINGW64/d/CCPD-G8.6/Panda/edwetl_rep (master)
    $ git branch -a
    chenqi
    * master
    remotes/origin/HEAD -> origin/master
    remotes/origin/chenqi
    remotes/origin/master

    3. 删除远程上的分支

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git push origin --delete chenqi

    4. 删除本地分支

    PD000731_陈麒@IT-13 MINGW64 /d/CCPD-G8.6/Panda (master)
    $ git branch -d chenqi

    三、Git配合使用编辑器(ST3&SM)

    Sublime Text 3

    Sublime Text是一款跨平台代码编辑器(Code Editor),可以编写各类不同代码,极简切换
    在众多编辑器中,它有如下优点:

    • 跨平台:Vim和Sublime Text均为跨平台编辑器(在Linux、OS X和Windows下均可使用)。作为一个程序员,切换系统是常有的事情,为了减少重复学习,使用一个跨平台的编辑器是很有必要的。
    • 可扩展:Vim和Sublime Text都是可扩展的(Extensible),并包含大量实用插件,我们可以通过安装自己领域的插件来成倍提高工作效率。
    • 互补:Vim和Sublime Text分别是命令行环境(CLI)和图形界面环境(GUI)下的最佳选择,同时使用两者会大大提高工作效率。

    Git与ST3的结合插件GitGutter:

    GitGutter
    本地Git变化提示,可以在行首显示当前行的Git状态,是增加的、修改的还是删除的
    1)在Sublime中安装 GitGutter 插件 ;
    2)在当前Git状态与本地仓库中的状态有改变时会显示;
    3)如果本地装有Sublime Merge时,右下角分支单击就可以转到Sublime Merge应用。

    Sublime Merge

    Sublime Merge是一款非常强大的Git客户端工具。

    • 一个快速的用户界面,三向合并工具,并排差异,语法高亮等等。Stage Files,Hunks和Lines没有等待;
    • 提供轻松进行代码审查的工具:并排差异,语法突出显示,角色差异。您可以拖动块的顶部或底部以交互方式显示更多上下文行;
    • 即时搜索在你的整个资料库,为你键入。按提交消息,作者,路径和内容进行搜索;
    • 内置合并工具可以快速,轻松地解决合并冲突。

    • 点赞 1
    • 收藏
    • 分享
    • 文章举报
    ddttoop 发布了68 篇原创文章 · 获赞 3 · 访问量 1121 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐