• git常用操作


    GIT暂存

    git stash //添加追踪文件已暂存区,不包括未追踪和忽略文件
    git stash save "message" //推荐写上message
    git pop //从堆栈中取最近一次暂存,并且删除暂存
    git stash apply //同上,但并不删除暂存数据
    git stash apply stash@{0} //同上,可指定恢复其它暂存
    git stash list //查看所有暂存
    git stash drop stash@{0} //删除指定暂存
    git stash clear //清空所有暂存
    git stash show //查看diff,同git stash show stash@{0}
    git stash show -p //查看详细diff,同git stash show stash@{0} -p
    git stash branch newBranch //暂存变分支
    git stash -u //暂存untracked文件
    git stash -a //暂存所有文件
    

    GIT 分支

    git branch -a #查看所有分支
    git branch -m old_name new_name #重命名本地分支
    git push origin :old_branch #删除远程分支
    git push origin new_branch #将本地新分支推送至远程
    git checkout -b new_br #创建并切换至分支new_br
    git checkout master #切换至master分支
    git merge new_br #将new_br分支合并至当前master分支
    git branch -d new_br #将合并完成后不用的分支删除
    git mergetool #合并冲突时可用的工具
    git add #冲突解决后提交
    git push origin :serverfix #删除远程分支
    git rebase master myfix #将myfix分支在master分支上重演,相当于清除了myfix分支以前的提交历史,所以不能在已发布对象上操作,以防止别人依赖这个分支。
    

    GIT打标签

    git tag -a v1.0 -m 'base function finished.'
    git tag -a v1.2 9fceb02 //给以往版本加上标签
    git tag //查看已有标签
    git show v1.0 //查看v1.0信息
    git push origin v1.0 //推送本地标签至远端
    git push origin --tags //推送本地所有标签至远端
    

    取消某文件的追踪

    git rm --cached readme.txt  删除指定文件的跟踪,保留本地文件。
    git rm --f readme.txt     删除指定文件的跟踪,并且删除本地文件。
    

    彻底删除历史提交记录的方法

    git log 查看要回退到哪个版本,记下code:712ec235d471d7c3ae3d397dbd254063151e5bd9
    git reset --hard 712ec235d471d7c3ae3d397dbd254063151e5bd9
    git push origin HEAD --force
    

    GIT EXPORT导出文件方法

    git archive --format zip -o site-$(git log --pretty=format:"%h" -1).zip HEAD
    

    只CLONE部分文件夹的方法

    # 初始化空库
    mkdir devops
    cd devops/
    git init #初始化空库
    # 拉取remote的all objects信息
    git remote add -f origin https://gitee.com/user/myPython.git
    # 开启sparse clone并设置需要pull的目录 devlops
    git config core.sparsecheckout true #开启sparse clone
    echo "devops" >> .git/info/sparse-checkout #设置需要pull的目录,*表示所有,!表示匹配相反的
    more .git/info/sparse-checkout
    # 将origin 端,由第三步(文件 .git/info/sparse-checkout)设置的目录下的文件pull到本地
    git pull origin master
    git branch --set-upstream-to=origin/master master
    
    //问题提示:SSL certificate problem: self signed certificate
    git config --global http.sslVerify false
    

    GIT初始化:

    SSH-KEY(4096长度):
    ssh-keygen -t rsa -C "user@163.com" -b 4096
    cat ~/.ssh/id_rsa.pub
    

    Git 全局设置

    git config --global user.name "xxx"
    git config --global user.email "user@163.com"
    get config --list
    

    GIT拉取

    创建新版本库

    git clone https://github.com/user/myRepo.git
    cd testRepo
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master
    

    已存在的文件夹

    cd existing_folder
    git init
    git remote add origin https://gitee.com/user/myPython.git
    git add .
    git commit -m "Initial commit"
    git push -u origin master
    

    已存在的 Git 版本库

    cd existing_repo
    git remote rename origin old-origin
    git remote add origin https://github.com/user/myRepo.git
    git push -u origin --all
    git push -u origin --tags 
    

    设置GIT push时免密:

    Linux:

    vim ~/.git-credentials
    https://{username}:{password}@gitee.com
    git config --global credential.helper store
    打开~/.gitconfig文件,会发现多了一项,然后再PULL输入一次以后就用输入了:
    
    [credential]
    helper = store 
    

    Windows:

    方法同上面,只是第一步创建git-credentials有点不同。在%HOME%目录中,一般为C:usersAdministrator,也可以是你自己创建的系统用户名目录,
    反正都在C:users中。文件名为.git-credentials,由于在Window中不允许直接创建以"."开头的文件,所以需要借助git bash进行,打开git bash客户端,
    进行%HOME%目录,然后用touch创建文件 .git-credentials, 然后后面的操作同上面。
    

    设置别名

    git config --global -e
    #写入如下内容:
    [alias]
        st = status
        co = checkout
        br = branch
        mg = merge
        ci = commit 
        md = commit --amend
        dt = difftool
        mt = mergetool
        last = log -1 HEAD
        cf = config
        line = log --oneline
        latest = for-each-ref --sort=-committerdate --format='%(committerdate:short) %(refname:short) [%(committername)]'
    
        ls = log --pretty=format:"%C(yellow)%h %C(blue)%ad %C(red)%d %C(reset)%s %C(green)[%cn]" --decorate --date=short
        hist = log --pretty=format:"%C(yellow)%h %C(red)%d %C(reset)%s %C(green)[%an] %C(blue)%ad" --topo-order --graph --date=short
        type = cat-file -t
        dump = cat-file -p
    
  • 相关阅读:
    CEF(Chromium Embedded Framework)使用说明书
    2.CEF常用接口类拦截请求回调函数
    CEF(Chromium Embedded Framework和JavaScript交互相互调用函数和设置数据
    CefV8Value类实现定JavaScript数据类型、数组、对象
    CEF(Chromium Embedded Framework)进程间通讯
    scikit_learn分类器详解
    3.Scikit-Learn实现完整的机器学习项目
    TCP/IP_网络基础知识
    零基础学习python_爬虫(53课)
    安全测试8_Web安全实战3(命令注入)
  • 原文地址:https://www.cnblogs.com/liehen2046/p/11080898.html
Copyright © 2020-2023  润新知