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"
    
  • 相关阅读:
    1058 A+B in Hogwarts (20)
    1036. Boys vs Girls (25)
    1035 Password (20)
    1027 Colors in Mars (20)
    1009. Product of Polynomials (25)
    1006. Sign In and Sign Out
    1005 Spell It Right (20)
    1046 Shortest Distance (20)
    ViewPager页面滑动,滑动到最后一页,再往后滑动则执行一个事件
    IIS7.0上传文件限制的解决方法
  • 原文地址:https://www.cnblogs.com/nimeiz/p/gitcmd.html
Copyright © 2011-2022 走看看