zoukankan      html  css  js  c++  java
  • Git学习笔记--Git常用命令

    参考资料:

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

    mkdir myfirstgit    创建文件夹
    cd myfirstgit     进入文件夹
    git init   将当前目录初始化为Git可以管理的仓库

    在文件夹下创建一个 readme.txt

    git add readme.txt  把文件添加到暂存区
    git commit -m "wrote a readme file"  将暂存区的内容添加到当前分支
    git status  查看仓库当前状态
    git diff readme.txt  查看修改的内容(本地与分支的区别)
    git log  显示从最近到最远的提交日志
    git reflog  显示命令历史,可以寻找想要回到的版本号
    git log --pretty=oneline  日志显示在一行

    ada04491a09c50f961b1922724a1b5f5dd57fca7 add haha
    bb8a26a10a19e65f3b349f112915c06824002cca add haha
    9f43d06753969af9e762c45b4b75ab62d4c68c7b add distributed
    29a22385cad2a56a7b58f73ecd5750e773d530c4 wrote a readme file

    前面的长串为版本号

    git reset --hard HEAD^    回到上一个版本
    git reset --hard HEAD^^  回到上上个版本
    git reset --hard 9f43d06  回到这个版本号指定的版本

    git checkout -- readme.txt  把readme.txt文件在工作区(本地)的修改全部撤销.
      readme.txt修改后没有放到暂存区,撤销修改就回到和版本库相同的状态。
      readme.txt已经添加到暂存区,又进行了修改,撤销修改会回到添加到暂存区后的状态。

    git reset HEAD readme.txt  撤销暂存区的修改,重新放回工作区
    git rm readme.txt  删除版本库中的文件
    git checkout -- readme.txt  恢复工作区中的文件

    ====================================

    git remote add origin git@server-name:path/repo-name.git  关联一个远程库(这里,server-name为github.com)
    git push -u origin master  关联后,第一次推送master分支的所有内容
    git push origin master 此后,每次本地提交后,推送最新修改
    git clone git@github.com:USERNAME/repo-name  将远程库克隆到本地

    git remote  查看远程库的信息
    git remote -v  查看远程库详细信息
    git checkout -b dev origin/dev  创建本地dev分支
    git pull  从origin/dev抓取最新的提交,在本地合并(从而避免冲突)

    注意:如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

    =====================================

    创建&切换分支:git checkout -b dev  git checkout加上-b参数表示创建并切换,等于这两条命令:
    创建分支:git branch dev
    切换分支:git checkout dev

    查看分支:git branch   查看当前分支
    注意:在当前分支修改的不影响原来的分支

    合并分支:git merge dev  将dev合并到master上,注意需要先切换到master分支再进行此操作
    合并分支2 :git merge --no-ff -m "merge with no-ff" dev   采用--no-ff方式,禁用fast forword

    注意:合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

       如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

    删除分支:git branch -d dev  删除分支

    分支合并图:git log --graph
    分支合并图:git log --graph --pretty=oneline --abbrev-commit

    =====================================

    Bug分支:

    保存工作现场:git stash
    显示栈内备份:git stash list
    恢复现场:git stash apply    恢复后,stash内容并不删除,需要用git stash drop来删除;
    恢复现场2:git stash pop  恢复的同时把stash内容也删了:

    =====================================

    标签:

    切换到需要打标签的分支

    git tag v1.0  打标签
    git tag  查看标签
    git tag v0.9 6224937  对指定的commit id打标签
    git show v1.0  查看标签信息
    git tag -a v0.1 -m "version 0.1 released" 3628164  创建带说明的标签,用-a指定标签名,-m指定说明文字
    git tag -s v0.2 -m "signed version 0.2 released" fec145a  通过-s用私钥签名一个标签
    git tag -d v0.1  删除标签
    git push origin v1.0  推送标签到远程
    git push origin --tags  推送全部尚未推送的标签
    删除远程标签:1、首先删除本地标签 git tag -d v0.9 
           2、然后git push origin :refs/tags/v0.9

  • 相关阅读:
    《机电传动控制》学习笔记08-1
    《机电传动控制》学习笔记-07
    《机电传动控制》学习笔记-06
    《机电传动控制》学习笔记05-2
    《机电传动控制》学习笔记05-1
    《团队项目》日志一
    《实时控制软件》第四周作业
    《实时控制软件》第三周作业
    《实时控制软件》第二周作业
    《机电传动控制》PLC仿真
  • 原文地址:https://www.cnblogs.com/gnivor/p/4465950.html
Copyright © 2011-2022 走看看