zoukankan      html  css  js  c++  java
  • Git 常用命令

    添加到暂存区(stage)

    git add <file>

    查看工作区暂存区状态

    git status

    从暂存区提交到最新版本

    git commint -m "comment"

    比较工作区和版本库最新版本的区别:(貌似HEAD可以不输入,默认就是HEAD?)

    git diff HEAD -- readme.txt

    比较本地库特定文件和远程库该文件的区别:

    git diff origin/FDbank:powercore-base/pom.xml FDbank:powercore-base/pom.xml

    比较工作区特定文件和远程库该文件的区别

    git diff origin/FDbank:powercore-base/pom.xml powercore-base/pom.xml

     查看历史记录,可以追加参数以每个记录单行显示:--pretty=oneline

    git log

    回退到上个版本(上上个版本就再加一个^)

    git reset --hard HEAD^

    根据hashcode来回到某个版本

    git reset --hard 11801df

     撤销工作区(而非暂存区)的修改,本质上其实是用版本库里的版本替换工作区的版本

    git checkout -- readme.txt

     把暂存区的修改撤销掉(unstage),重新放回工作区

    git reset HEAD readme.txt

     从文件系统和版本库里删除一个文件

    rm test.txt
    git rm test.txt
    git commit -m "remove test.txt"

     创建并切换分支

    $ git checkout -b dev
    Switched to a new branch 'dev'

     git checkout命令加上-b参数表示创建并切换,相当于以下两条命令

    $ git branch dev
    $ git checkout dev
    Switched to branch 'dev'

    查看当前分支

    $ git branch

    切换分支,例如切换到master分支

    $ git checkout master

    本地master分支的最新修改推送至GitHub(远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。)

    $ git push origin master

    删除dev分支

    git branch -d dev

    软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修后,合并分支,然后将临时分支删除。

    当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交

    幸好Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

    $ git stash
    Saved working directory and index state WIP on dev: 6224937 add merge
    HEAD is now at 6224937 add merge

    刚才的工作现场存到哪去了?用git stash list命令看

    工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

    一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

    另一种方式是用git stash pop,恢复的同时把stash内容也删了:

     )

    强行删除一个还未被合并的分支

    $ git branch -D feature-vulcan
    Deleted branch feature-vulcan (was 756d4af).

    回退单个文件到指定版本

    $ git log MainActivity.java
    $ git reset a4e21523 MainActivity.java

    注:stage又名index

    例子:

    在.git/config里配上用户名密码对我来说比较方便

    [core]
    	symlinks = false
    	repositoryformatversion = 0
    	filemode = false
    	logallrefupdates = true
    [remote "origin"]
    	url = https://[username]:[password]@github.com/408657544/springbank.git
    	fetch = +refs/heads/*:refs/remotes/origin/*
    [branch "master"]
    	remote = origin
    	merge = refs/heads/master
  • 相关阅读:
    数据结构习题
    POJ 2965 The Pilots Brothers' refrigerator
    POJ 1753 Flip Game
    HDU 1172 猜数字
    假币问题
    HDU 1425 sort
    Java基础知识
    P1650 田忌赛马
    SQL注入之Sqli-labs系列第十九关(基于头部的Referer POST报错注入)
    SQL注入之Sqli-labs系列第十八关(基于错误的用户代理,头部POST注入)
  • 原文地址:https://www.cnblogs.com/heben/p/6032262.html
Copyright © 2011-2022 走看看