zoukankan      html  css  js  c++  java
  • Git笔记

    一、安装git:sudo apt-get install git

    二、把一个工程初始化为仓库:git init

    三、把文件添加到暂存区:git add [filename]

    四、把暂存区的内容提交到当前分支:git commit -m "[change message]"

    五、查看状态:git status; 查看不同:git diff [filename](如果status告诉你文件被修改过,可以用diff查看修改内容)

    六、查看日志:git log --pretty=oneline;查看历史版本:git reflog;

    七、版本回退:git reset --hard HEAD^ 或git reset --hard (版本号);

    八、撤消工作区的修改:git checkout -- [filename]

      这里有两种情况:

      一种是filename自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

      一种是filename已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

      总之,就是让这个文件回到最近一次git commitgit add时的状态(即如果暂存区有内容,则从暂存区恢复,如果没有则从版本库恢复)。

    九、撤消暂存区的修改:git reset HEAD [filename](重新放回工作区,相当于没提交而已,应该是美柚放回工作区的)

    十、删除文件:git rm [filename]且 commit

    十一、创建SSH KEY:ssh-keygen -t rsa -C "youremail@example.com"(生成的文件在~/.ssh目录下)

    十二、查看远程库的信息:git remote (-v 查看更详细的信息)

      添加远程库:现在github上添加一个仓库,然后在本地库运行:git remote add origin git@github.com:michaelliao/learngit.git

    十三、推送分支:git push origin master,如果要推送其他分支,则git push origin [dev]

      然后推送:git push -u origin master(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。)

    十四、抓取分支:git clone只能抓取master,如果要抓取其他分支:git checkout -b [dev] origin/[dev]

      建立本地分支和远程分支的关联:使用git branch --set-upstream branch-name origin/branch-name

      当推送失败时:git pull(把远程的分支抓取过来,如果提示“no tracking information,则:git branch --set-upstream [dev] origin/[dev],如果合并冲突,则手动修改,再commit,push

      从远程库克隆:git clone git@github.com:michaelliao/gitskills.git(GitHub给出的地址不止一个,还可以用https://github.com/michaelliao/gitskills.git这样的地址。实际上,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。)

    十五、创建分支:git branch [dev];切换分支:git checkout [dev];创建并切换分支:git checkout -b [dev];用git branch查看当前使用分支。

    十六、合并分支:git merge (--no-ff参数,表示禁用Fast forward) [dev](若发生冲突,要手动修改)

    十七、删除分支:git branch -d [dev](-D 如果分支还没合并,强行删除)

    十八、查看分支的合并情况:git log --graph --pretty=oneline --abbrev-commit

    十九、当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

    二十、打标签:首先切换到要打标签的分支上,再git tag [v1.0] id(如果没有表示当前版本)

      查看所有标签:git tag

      创建带有说明的标签,用-a指定标签名,-m指定说明文字:git tag -a v0.1 -m "version 0.1 released" 3628164

      git show tagname可以看到说明文字

      删除标签:git tag -d tagname

      推送标签:git push origin tagname (--tags表示推送全部标签)

      删除一个远程标签:git push origin :refs/tags/<tagname>

  • 相关阅读:
    组合数据类型练习,英文词频统计实例
    条件、循环、函数定义等练习
    大数据应用实例
    实验二-模拟在CPU中的优先级调度
    实验二——模拟在CPU中的进程调度(改稿)
    实验二——模拟在CPU中的进程调度(初稿)
    回答前文问题
    13.14.15.16.17&《一个程序猿的生命周期》读后感
    10,11,12读书有感
    读书三章8,9,10
  • 原文地址:https://www.cnblogs.com/xiaoheng008/p/4439670.html
Copyright © 2011-2022 走看看