git 常用命令
2015-04-22 00:00
148 查看
![](http://static.oschina.net/uploads/space/2016/0506/113505_B2TU_2320053.jpg)
基础命令
用户设置
$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
初始化仓库
$ git init
Initialized empty Git repository in /Users/learngit/.git/
把文件添加到仓库
git add filename
把文件提交到仓库
git commit -m "comment message"
初始化Git仓库
git init
添加文件到Git仓库
1、git add
2、git commit
查看结果
git status
查看具体修改内容
git diff filename
查看Git日记
git log
git log --pretty=oneline
查看历史
git reflog
恢复历史版本
git reset --hard commit_id
放弃工作区的修改
git checkout -- filename (ps:没有“--”,则“创建一个新分支”)
将暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD filename
git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
(1) 回退所有内容到上一个版本
git reset HEAD^
(2) 回退a.py这个文件的版本到上一个版本
git reset HEAD^ a.py
(3) 向前回退到第3个版本
git reset –soft HEAD~3
(4) 将本地的状态回退到和远程的一样
git reset –hard origin/master
(5) 回退到某个版本
git reset 057d
(7) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit
git revert HEAD
删除文件
git rm
关联一个远程库
git remote add origin git@server-name:path/repo-name.git
第一次推送master分支
git push -u origin master
推送最新修改
git push origin master
克隆一个本地库
git clone -b master https://git.oschina.net/jack088/K2HWAP.git
或
git clone https://git.oschina.net/jack088/K2HWAP.git
git 分支
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
查看分支合并图
git log --graph
暂时保存工作内容
git stash
查看存储的工作
git stash list
恢复工作
1、git stash apply (恢复后,stash内容并不删除,需要用git stash drop来删除)
2、git stash pop (恢复的同时把stash内容也删了)
强行删除分支
git branch -D name
要查看远程库的信息
git remote
显示更详细的信息
git remote -v
推送分支
git push origin master
指定本地dev分支与远程origin/dev分支的链接
git branch --set-upstream dev origin/dev
获取远程更新数据
git pull
tag 标签
打一个新标签
git tag name
查看所有标签
git tag
查看标签信息
git show v1.0
指定标签信息
-a tagname -m "taginfo..."
PGP签名标签
-s tagname -m "taginfo..."
推送某个标签到远程
git push origin tagname
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
删除标签
1、删除本地
git tag -d tagname
2、删除远程
git push origin :refs/tags/tagname
ignore 文件
配置命令别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'