Git Note

git//不知道有啥用
I309990@PVGN50896493A MINGW64 ~/git
scp -p -P 29418 i309990@git.wdf.sap.corp:hooks/commit-msg i2d.qm.inspresults.records1/.git/hooks/
commit-msg

I309990@PVGN50896493A MINGW64 ~/git/2d.qm.inspresults.records1
//查看状态
git status

//输出不同
git diff .>tmp.patch

//加文件
git add <文件>

//提交并添加注释
git commit -m “wrote a readme file”

//
git log
(–pretty=oneline –abbrev-commit)git

//
git pull –rebase

//
git stash

//
git stash pop

//
git push origin HEAD:refs/for/masters1

————提交小型修改—————-
//
git commit –amend

//
git push origin HEAD:refs/for/masters1

—————-其他修改—————-
//记录每一次命令,包括commit id
git reflog

//强行把Head指向某次commit
git reset –hard <找到那次的commit id>

//查看工作区和版本库里面最新版本的区别
*如果文件自修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态
*已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态
git diff HEAD – readme.txt

//丢弃工作区的修改
git checkout – file

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

//从版本库里面删除文件
git rm test.txt
git commit

//创建dev分支,然后切换到dev分支
git checkout -b dev
= git branch dev
git checkout dev

//查看当前分支
git branch

//合并分支
git merge dev

//删除分支
git branch -d dev

//恢复stash的工作区,恢复后,stash内容并不删除,
git stash apply

//删除stash的内容
git stash drop

//恢复的同时把stash内容删了
git stash pop

//查看stash内容
git stash list

//可以多次stash,恢复的时候,先查看,然后恢复指定的stash
git stash apply stash@{0}

//丢弃一个没有被合并过的分支
git branch -D

多人协作的分支冲突:
有常见的User Story
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013760174128707b935b0be6fc4fc6ace66c4f15618f8d000

—————-标签修改—————-
标签就是不能移动的分支,版本库的快照,就是指向某个commit的指针

//添加标签

  • 先切换到需要打标签的分支上
    git branch
    git checkout
  • 打新标签
    git tag

//查看所有的标签
git tag

//根据历史提交的commit id,在历史记录上打标签
git tag

//查看标签信息
git show

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

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

//推送某个标签到远程
git push origin

//一次性推送所有标签到远程
git push origin –tags

//删除远端的标签

  • 首先要删除本地标签
    git tag -d v0.9
    git push origin :refs/tags/v0.9

—————-git配置—————-
//配置别名
git config –global alias.<新名字> <原配的名字>

//常用的简写
st->status
co->checkout
br->branch
unstage->’reset HEAD’
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”