您的位置:首页 > 其它

GIT常用基础命令总结

2014-10-08 18:14 405 查看
三个配置文件
/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用--system 选项,读写的就是这个文件。

~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用--global 选项,读写的就是这个文件。

当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以.git/config 里的配置会覆盖/etc/gitconfig 中的同名变量。

git三种状态
已提交(committed)

已修改(modified)

已暂存(staged)

获取项目的git仓库
git init //从当前目录初始化
git clone gitosis@192.168.2.4:soul/soul //从现有仓库克隆
git --bare init //创建裸版本库
配置git仓库相关信息
git config user.name "yayun.tian"
git config user.email yayun.tian@soulinfo.com
检查当前文件状态
git status
跟踪新文件
git add <filename>
git add --all //一次性跟踪当前目录全部文件
.gitignore文件过滤
1、开放模式负责设置过滤哪些文件和文件夹,例如:
过滤文件夹设置:
/mtk/       //表示过滤这个文件夹

指定过滤某种类型的文件:
*.zip
*.rar

指定过滤某个文件:
/mtk/do.c
/mtk/if.h
2、保守模式负责设置哪些文件不被过滤,也就是哪些文件要被跟踪。例如:
跟踪某个文件夹:
!/plutommi/mmi

跟踪某类文件:
!*.c
!*.h

跟踪某个指定文件:
!/plutommi/mmi/mmi_features.h
移除文件
git rm <filename> //移除暂存区的内容而且工作目录也连带删除
注:如果仅仅想删除暂存区可以加上--cached选项
提交
git diff --color //查看确认修改
git commit -a -m "comment" //comment代表此次修改的注释
git commit --amend //修改最后一次提交
如果忘记暂存某些文件就提交了,可以暂存后使用amend再次提交
注:加上-a表示把已经修改的文件全部提交,省去暂存的步骤
查看提交历史
git log
-p //展开显示每次提交的差异
-n //仅仅显示最近的n次提交
--stat //仅显示每次修改的概要信息
注:图形化工具查阅提交历史gitk
对比操作
git diff //显示还没有暂存起来的改动
git diff --cached //已经暂存起来的文件和上次提交时的快照间的差异
git diff HEAD //查看当前工作目录和已经提交的差别
git diff --stat //查看文件改动的大概信息
补丁操作
生成补丁方式1:
git diff > 补丁名称
git apply 补丁名称

生成补丁方式2:
git format-patch HEAD~
patch -p1 < 补丁名称
git am 补丁名称
注:对于git diff生成的patch,你可以用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中,生成的Patch兼容性强。
恢复命令reset
git reset HEAD <file> //取消已经暂存的文件
git reset --mixed commit //默认方式,它回退到某个版本,只保留源码,回退commit和index信息(git diff可以查看到修改内容)
git reset --soft commit //回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(git diff --cached可以查看到修改内容)
git reset --hard commit //彻底回退到某个版本,源码也回退
分支操作
查看分支:
git branch(本地)
git branch -a(全部)

git branch testing //创建分支
git checkout testing //切换分支
git branch -m <old_branch_name> <new_branch_name> //重命名
git checkout -b <branch_name> //新建分支并切换
git checkout -b  <branch_name> origin/branch //新建分支并切换
git merge 待合并分支 需要合并分支 //合并分支
git branch -d iss53 //删除以前的分支 强制删除-D
git branch 查看当前的分支 --v、--merge、--no-merge选项可
远程仓库操作
查看远程仓库:
git remote //简单查看
git remote -v //详细查看

git remote add <名称> gitosis@192.168.2.4:soul/soul-1 //添加远程仓库
git remote rename <old_name> <new_name> //重命名远程仓库

将远程分支更新到本地:
git fetch //不会merge
git pull //直接merge到本地

git push  远程仓库名 分支名 //推送到远程分支

推送本地所有分支:
git push --all(默认origin)
git push --all <仓库名>删除远程分支git push origin :<分支名>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息