git 基本操作

2014-12-17  本文已影响0人  hepan

常用命令


基本命令

git init 把这个目录变成Git可以管理的仓库

git add xxx 将xxx添加到工作区

git commit -m "xxxx" 将已经add到工作区中的提交到stage(暂存)区

git status 查看本地、工作区、stage中的文件状态

git log 查看git 提交日志

git diff xxx 比较xxx在工作区或者stage中最后一次修改于现在文件的不同

git log --pretty=oneline 简单的日志信息

git reset --hard HEAD^ 回到上一个版本,HEAD^^上上一个版本,回到上100个版本HEAD~100

git reset --hard xxxxx 回到xxxxx版本 xxxx是log前面的版本号

git checkout -- xxxx.txt 把xxxx.txt在工作区的全部修改都撤销。
这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。

git rm xxxx.txt 删除xxxx.txt文件后需要在git上也运行rm命令进行删除


远程仓库

git remote add origin git@github.com:michaelliao/learngit.git 创建于远程仓库关联 (在github创建仓库后会有提示前面的url可能不准)

git push -u origin master 推送到远程仓库中

git clone https://github.com/hepan/gitskills.git 从远程仓库复制

git remote 查看远程库信息

git remote -v 显示可以抓取和推送的origin的地址,如果没有推送权限就看不见push的地址

git push origin dev 将dev分支提交到origin中

git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支

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

git pull 从远程抓取分支,如果有冲突先要处理冲突


分支

git checkout -b dev 创建dev分支并切换到dev分支
相当于如下两条命令
$ git branch dev
$ git checkout dev

git branch 查看分支

git branch -d dev 删除dev分支

git log --graph --pretty=oneline --abbrev-commit 图形的方式显示提交

git merge --no-ff -m "merge with no-ff" dev no-ff模式合并分支详解点这里,合并时会创建一个新的commit


stash命令

git stash 将工作区暂时保存

git stash list 查看暂存工作区内容

git stash apply 回复工作区

git stash drop 将暂存的内容删除

git stash pop 回复工作区并删除内容

tag命令

git tag v1.0将当前commit的最新版本打个标签v1.0

git tag xxxx v0.9将xxxx打个标签v0.9

git show v0.9 显示tar v0.9的内容

git tag -a <tagname> -m "blablabla..."可以指定标签信息;

git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

git tag -d v0.1 删除v0.1版本

git push origin v1.0 将v1.0推到远程

git push origin --tags 将未push的tags全部提交到远程

git push origin :refs/tags/v0.9 从远程删除v0.9版本

alias

ci = commit -a -v
throw = reset --hard HEAD
throwh = reset --hard HEAD^
上一篇下一篇

猜你喜欢

热点阅读