您的位置:首页 > 其它

git常用操作---工作中常用的命令

2018-01-04 10:36 225 查看
ssh config

HostName ip
User git
IdentityFile ~/.ssh/id_rsa_aaa


下载git库代码

git clone ssh://*.git
拷贝.git目录


暂存文件

git add .    [所有不在.gitignore中的文件](文件较多时用,配合.gitignore)
git add file [具体文件]


设置用户

//当前git项目
git config user.name  "nm"
git config user.email "em"
//全局项目【慎用】
git config --global user.name "nm"
git config --global user.email "em"


提交到本地git库 ( 需要先设置用户),提交后会显示分支及commit id的【前7位】

git  commit -m  "your comment"


查看git记录log, 【注意commit id】在提交记录的上面commit 后面跟sha1 hash, 【常用前7位】

//显示全部记录【慎用】
git log
//显示最近两次记录
git log -2
//显示最近两次记录的修改
git log -p -2
//略览所有提交
git log --pretty=oneline
//比log多一些【Reflog】
git log -g
//所有引用的log【包括reset amend】(恢复时用)
git reflog
//图像显示,merge线
git log --graph


【分支】

查看分支

//各分支详细信息,中间的短线是分支数,短线上面是分支层次,下面是各分支最近一次记录
git show-branch
//各分支基本信息
git branch -vva
//查看本地分支,前面的[*]表示当前所在分支
git branch


分支操作

//创建新分支(基于当前的分支,会包含当前分支的提交记录)
git branch  分支名
//切换到分支
git checkout 分支名
//新建并切换到新分支(相当于上面两个一起)
git checkout -b 分支名
//创建新的独立的空分支(一次提交commit后才能显示分支(git branch))(这个分支就相当于一个独立的空git库挂在别的git上)()
git checkout --orphan gh-pages


【高级】【git后悔药】

【覆盖】上次的提交记录(适用于上次提交不对,信息没写对,文件没提交完等等)

git commit --amend


不暂存(stage)文件(适用于add错的文件后”unadd”)

//不暂存所有修改
git reset HEAD .
//排查具体文件(比如一些缓存,日志,临时调试文件等等)
git reset HEAD fileName


文件恢复到修改前 (相当于从库里重新导出文件),(适用于文件代码改乱了)【【慎用】:会丢失【所有】对文件的修改】

git checkout -- fileName


恢复某一提交到新建分支(recover-branch)【恢复提交】(需要commit id(可以前7位))

git branch recover-branch commitId


【慎重】【最好别用】(推荐使用git commit –amend)

//回退到某一次提交,会把当前目录的所有文件都回退,(相当于一次【完全的checkout】【慎用】【丢失所有修改】)
git reset --hard  commitId

//退回到commitId版本,不修改本地文件【推荐使用】,最好再pull一下,与远程同步一下
git reset --soft commitId


显示所有没有引用的提交对象(git branch recover-branch commitId 恢复)

git fsck --full


打包某次提交的文件

git diff-tree -r --no-commit-id --name-only d18f9d5f17e190cfbb836a4acff2d96c0d466a2c | xargs tar -rf mytarfile.tar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 工作git