zoukankan      html  css  js  c++  java
  • GIT命令一页纸

    ,配置用户名和邮箱

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    ,把一个文件夹初始化为git仓库

    mkdir lg
    git init
    

    ,查看当前仓库的状态 git status

    ,放到暂存区 git add readme.txt

    ,提交到仓库 git commit -m "init project"


    ,查看提交历史,使用git log
    加参数显示更容易阅读的信息git log --pretty=oneline
    使用git reflog 查看命令历史,以回到未来版本

    ,在提交的版本之间切换git reset --hard commit_id
    回到上一个版本git reset --hard HEAD^

    ,查看工作区与版本库之间的区别 git diff HEAD -- readme.txt

    ,撤消刚才在工作区的修改 git checkout -- readme.txt
    这个是如果放到了暂存区,就从暂存区里面恢复,如果没有,就直接从版本库里面恢复。

    ,从版本库里面撤消修改 第1步,git reset HEAD readme.txt 第2步,git checkout -- readme.txt
    就是改了工作区的内容,还add到暂存区了。上面的命令会把最新的版本库里里面的readme.txt文件放到暂存区,然后再从暂存区里面恢复。

    ,删除文件 git rm test.txt

    ,重命名(移动文件) git mv test.txt t.txt ,如果没有使用git mv命令的话,就先git add t.txt,然后git rm test.txt


    ,生成SSHkey ssh-keygen -t rsa -C "xxx@qq.com" 在git远程仓库上面把id_rsa.pub的内容加上去

    ,把当前仓库与远程仓库关联起来 git remote add origin git@github.com:nimeiz/lg.git

    ,查看远程库信息 git remote,使用git remote -v查看更详细的信息

    ,往远程仓库上推送内容 git push origin master,可以使用git push -u origin master在第一次推送时把本地与远程的master分支关联起来,在以后的使用是可以简化命令

    ,从远程库克隆仓库下来 git clone git@github.com:nimeiz/lg.git

    ,查看分支 git branch

    ,切换分支 git checkout -b dev 意思是创建并切换到dev,相当于git branch dev,git checkout dev

    ,把dev分支合并到master分支上

    git checkout master
    git merge dev
    

    ,删除dev分支 git branch -d dev 强制删除一个分支git branch -D feature-xx

    ,解决合并分支时的冲突 1,手动修改有冲突的文件,2,git add xxx.txt,git commit -m "conflict fixed" 就完成了

    ,在log中查看分支合并图 git log --graph

    ,使每次合并有记录 git merge --no-ff -m "merge with no-ff" dev

    ,常用分支策略 master做为最稳定的主版本,dev测试版本,再下面的分支开发

    ,保存当前工作区现场 git stash

    ,恢复工作现场 git stash apply恢复,git stash drop删除
    => git stash pop 恢复并且删除

    ,查看stash内容 git stash list 恢复到指定stash:git stash apply stash@{0}

    ,推送dev分支 git push origin dev

    ,远程库的分支 git checkout -b dev origin/dev 创建远程origin的dev分支到本地

    ,指定本地dev与远程origin/dev的链接 git branch --set-upstream dev origin/devgit pull提示"no tracking information"时用到

    ,往远程push出现冲突 1,git pull将远程的内容取下来,2,手动解决冲突,3,commit,4,git push origin dev再次推送


    ,创建标签 git tag -a v0.1 -m "version 0.1 released" 328923
    使用 git log --pretty=oneline --abbrev-commit 查看commit_id

    ,查看标签 git tag

    ,删除标签 git tag -d v0.1

    ,推送标签 git push origin v1.0是推送v1.0这个标签,
    git push origin --tags是推送所有本地标签到远程

    ,删除远程的标签 先删除本地的标签git tag -d v0.1
    再从远程删除git push origin :refs/tags/v0.1

    ,本地仓库关联多个远程仓库

    git remote rm origin
    git remote add github git@github.com:nimeiz/lg.git
    git remote add gitee git@gitee.com:nimeiz/lg.git
    

    意思就是 把默认的远程库名origin 使用githubgitee给替换掉

    推送的时候使用相对应的远程库名就好了

    git push github master
    git push gitee master
    

    ,配置git命令的别名

    git的配置文件在~/.gitconfig里面

    s表示status,用ch表示checkout,用co表示commitbr表示branch
    unstage表示git reset HEAD file,美化后的log

    git config --global alias.s status
    git config --global alias.ch checkout
    git config --global alias.co commit
    git config --global alias.br branch
    git config --global alias.unstage 'reset HEAD'
    git config --global alias.last 'log -1'
    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"
    
  • 相关阅读:
    线程池小结(一)
    [转]ViewPager学习笔记(一)——懒加载
    [转]Private Libraries、Referenced Libraries、Dependency Libraries的区别
    关于context你必须知道的一切
    【转】在mac上配置安卓SDK
    【转】HTTP中的长连接和短连接分析
    中间件解析FDMEMTABLE.delta生成SQL的方法
    delphi 中配置文件的使用(*.ini)和TIniFile 用法
    Delphi 字符串加密与解密函数
    Delphi编写的等长加密与解密
  • 原文地址:https://www.cnblogs.com/nimeiz/p/gitcmd.html
Copyright © 2011-2022 走看看