welcome to xlongwei.com

欢迎大家一起学习、交流、分享


QQ:9167702333 邮箱:admin@xlongwei.com

git 常用命令


分类 Java   关键字 分享   标签 linux,eclipse,git   发布 hongwei  1451312221434
注意 转载须保留原文链接,译文链接,作者译者等信息。  
之前的三篇git文章分别介绍了:git仓库的搭建和推送、git客户端TortoiseGit、egit插件,现在介绍一下常用的git本地仓库的管理命令。

git hep,显示帮助信息,这里会提示常用的git命令有哪些;git add -h,显示git add命令的详细帮助信息(git add --help会打开浏览器)

git init初始化仓库,git init test初始化本地的test仓库,便于学习测试git命令(git clone克隆线上仓库)

git config配置信息
git config --list  #列出所有配置,--edit参数可以进入文本编辑器
git config --system name value  #获取或设置name对应的值,system=/etc/gitconfig,global=~/.gitconfig,local=.git/config
git config --global --unset name  #清除name配置

git status,显示当前状态,建议每次暂存或提交文件都先运行git status查看下当前状态

git add表示暂存文件(支持新添加的文件、已修改文件,甚至已删除的文件)
git add file   #暂存区是很关键的概念,文件的状态变化是:工作目录 =》 暂存区 =》 仓库,git commit提交只处理已暂存的文件,所以必须先暂存才能提交
git add -A   #暂存所有需要暂存的文件

git reset取消暂存(与git add含义相反),在git commit提交之前取消暂存,暂存区为空将导致无法git commit,必须再次git add暂存文件
git reset file  #取消暂存某个文件
git reset    #取消暂存全部已暂存文件
git reset --hard HEAD^         回退到上个版本
git reset --hard HEAD~3        回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id     退到/进到 指定commit的sha码
git push origin HEAD --force   强制远程覆盖
git reset --hard origin/master 强制覆盖本地

git rm取消跟踪(也与git add在某个方面相反)
git rm --cached file #取消跟踪,但不删除本地文件(没有--cached参数时将同时删除本地文件)
#如果本地已删除,要如何从仓库中恢复呢?
git reset
git checkout file

git mv old new重命名文件,相当于三条指令:mv old new,git rm old,git add new

git commit提交文件
git commit -m “comment”  #直接输入提交注释参数,否则会进入编辑器手动输入提交注释
git commit -a   #提交全部已跟踪文件的修改,对于新添加的文件(未跟踪)则无效
git commit --amend   #修正上次提交(将这次提交合并到上次提交中,上次提交后的修改也加了进来)

git checkout提取文件,可用于放弃本地修改并用上次提交版本覆盖,也可用于创建或合并分支
git checkout file  #替换某个文件

git diff对比文件(默认是当前目录与暂存区对比,--staged暂存区与仓库最新版本对比,git add会影响对比的结果)

git log查看提交历史,默认显示全部(数据量会比较大)
git log -10  #显示最近的10次提交,--since=1.weeks|months|"2015-12-30"最近1周|月的提交,--author|committer=gituser限制作者或提交者
git log --stat  #显示增改行数统计摘要
git log -p  #显示每次提交前后的内容差异(以上参数可以组合使用)
git log --pretty=oneline --graph #每行显示一条提交记录,适合查看大量提交记录时,--pretty=short|full|fuller|format:"%H %an %cn %cr %s"

评论列表