Git 命令小结
2016-05-06 11:01
253 查看
git remote add origin <远程库>
:关联一个远程库git
remote rm origin :删除关联远程库
git remote -v
:显示详细的远程库信息
git init
:把这个目录变成Git可以管理的仓库
git add <file>:把文件添加到仓库,可反复多次使用,添加多个文件
git commit -m "..."
:把文件提交到仓库
git rm <file>
:从版本库中删除文件,并且git
commit
git push -u origin <name> :把本地库的内容推送到远程,-u参数会把本地的master分支和远程的master分支关联起来。git
pull :把最新的提交从origin/dev抓下来
git clone <Git库地址>
:克隆一个本地库
git status :随时掌握工作区的状态
git diff :如果gitstatus告诉你有文件被修改过,用gitdiff可以查看修改内容。
git log
:命令显示从最近到最远的提交日志
git log --graph --pretty=oneline --abbrev-commit
:看到分支合并图加上--graph,嫌输出信息太多,加上--pretty=oneline参数。
git reflog
:记录每一次命令,要重返未来,用gitreflog查看命令历史
git reset --hard HEAD^
:回退到上一个版本,HEAD指向的版本就是当前版本
git reset --hard HEAD^^
:把当前版本回退到上上一个版本
git reset --hard 3628164
:指定回到commitid为3628164的版本
git checkout -- file
:丢弃工作区的修改,回到最近一次git
commit或git add时的状态;也可用于把误删的文件恢复到最新版本,但会丢失最近一次提交后修改的内容。
git reset HEAD file
:把暂存区的修改撤销掉(unstage),重新放回工作区,用HEAD时,表示最新的版本。git
checkout -b <name>
:创建并切换到此分支
git branch
:命令查看当前分支
git merge <name>
:合并指定分支到当前分支
git merge --no-ff -m "merge with no-ff" <name>
:用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast
forward合并就看不出来曾经做过合并。
git branch -d <name>
:删除分支,git
branch -D <name>强行删除一个没有被合并过的分支git
stash :把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list
:查看被储藏起来工作现场的状态
git stash pop
:恢复工作现场的同时把stash内容也删了
git tag <tagname>
:用于新建一个标签,默认为HEAD,也可以指定一个commitid。git
tag -a <tagname> -m "..." :指定标签信息,-a指定标签名,-m指定说明文字
git tag -s <tagname> -m "..."
:-s用PGP签名一个标签。
git tag
:可以查看所有标签,标签不是按时间顺序列出,而是按字母排序的。
git show <tagname>
:查看标签信息
git tag -d <tagname>
:删除标签,创建的标签不会自动推送到远程。打错的标签可以在本地安全删除。git
push origin <tagname> :推送某个标签到远程
git push origin :refs/tags/<tagname>
:可以删除一个远程标签,需先删除本地标签。
git更新单个文件:
git fetch origin <name>
git checkout origin/<name> <file_path>
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git
pull抓取远程的新提交;
如果git pull提示“no
tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git
branch --set-upstream branch-name origin/branch-name。
:关联一个远程库git
remote rm origin :删除关联远程库
git remote -v
:显示详细的远程库信息
git init
:把这个目录变成Git可以管理的仓库
git add <file>:把文件添加到仓库,可反复多次使用,添加多个文件
git commit -m "..."
:把文件提交到仓库
git rm <file>
:从版本库中删除文件,并且git
commit
git push -u origin <name> :把本地库的内容推送到远程,-u参数会把本地的master分支和远程的master分支关联起来。git
pull :把最新的提交从origin/dev抓下来
git clone <Git库地址>
:克隆一个本地库
git status :随时掌握工作区的状态
git diff :如果gitstatus告诉你有文件被修改过,用gitdiff可以查看修改内容。
git log
:命令显示从最近到最远的提交日志
git log --graph --pretty=oneline --abbrev-commit
:看到分支合并图加上--graph,嫌输出信息太多,加上--pretty=oneline参数。
git reflog
:记录每一次命令,要重返未来,用gitreflog查看命令历史
git reset --hard HEAD^
:回退到上一个版本,HEAD指向的版本就是当前版本
git reset --hard HEAD^^
:把当前版本回退到上上一个版本
git reset --hard 3628164
:指定回到commitid为3628164的版本
git checkout -- file
:丢弃工作区的修改,回到最近一次git
commit或git add时的状态;也可用于把误删的文件恢复到最新版本,但会丢失最近一次提交后修改的内容。
git reset HEAD file
:把暂存区的修改撤销掉(unstage),重新放回工作区,用HEAD时,表示最新的版本。git
checkout -b <name>
:创建并切换到此分支
git branch
:命令查看当前分支
git merge <name>
:合并指定分支到当前分支
git merge --no-ff -m "merge with no-ff" <name>
:用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast
forward合并就看不出来曾经做过合并。
git branch -d <name>
:删除分支,git
branch -D <name>强行删除一个没有被合并过的分支git
stash :把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list
:查看被储藏起来工作现场的状态
git stash pop
:恢复工作现场的同时把stash内容也删了
git tag <tagname>
:用于新建一个标签,默认为HEAD,也可以指定一个commitid。git
tag -a <tagname> -m "..." :指定标签信息,-a指定标签名,-m指定说明文字
git tag -s <tagname> -m "..."
:-s用PGP签名一个标签。
git tag
:可以查看所有标签,标签不是按时间顺序列出,而是按字母排序的。
git show <tagname>
:查看标签信息
git tag -d <tagname>
:删除标签,创建的标签不会自动推送到远程。打错的标签可以在本地安全删除。git
push origin <tagname> :推送某个标签到远程
git push origin :refs/tags/<tagname>
:可以删除一个远程标签,需先删除本地标签。
git更新单个文件:
git fetch origin <name>
git checkout origin/<name> <file_path>
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git
pull抓取远程的新提交;
如果git pull提示“no
tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git
branch --set-upstream branch-name origin/branch-name。
相关文章推荐
- 这朵玫瑰叫Jenny
- C++作业4-1
- Web 通信 之 长连接、长轮询(long polling)
- Android Fragment 你应该知道的一切
- 关于schedule_timeout
- 图片验证示例1
- OPENGL设备坐标系(dns)是左手坐标系,屏幕坐标系原点在左下角向上向右增加
- codeforces 670C Cinema
- chmod命令高级篇( SetUID与SetGID标识位)
- 汇编学习笔记
- Android Fragment 真正的完全解析(下)
- iOS之修改项目BUG之旅--(四)
- 1081. Rational Sum (20)
- 镭射激光器EzLaze3的二次开发
- 使用SparseArray和ArrayMap代替HashMap
- 详解NTFS文件系统
- 微信公众号开发笔记2-自定义菜单
- mybatis dao无实现类的配置
- 在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField
- jdbc连接mysql