Git 命令

2017-07-13  本文已影响9人  广锅锅

配置全局 用户名、邮箱

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

创建仓库

git init

提交

git add <file name>  // 把文件添加到暂存区
git commit -m <"description"> // 把暂存区的所有内容添加到当前分支

git diff <file name> // 查看指定文件被修改的具体内容

查看

git log    //查看版本记录
git log --graph  // 可以查看分支合并图
git log --pretty=oneline // 简化log输出

git reflog //查看每一次命令

git status //查看当前状态,修改、删除、添加、冲突

回退版本

git reset --hard HEAD^    // 回退上一个版本
git reset --hard HEAD^    // 回退上上个版本
git reset --hard HEAD~100    // 回退前100个版本
git reset --hard <commit id>  // 回退/前进到指定版本

撤销修改

git checkout -- <file name> // 撤销指定文件的所有修改
git reset HEAD <file name> // 撤销已提交到暂存区的文件

删除文件

git rm <file name>

// 撤销删除:由于删除也被认为为修改,所以也可以使用撤销修改的命令来撤销删除
git checkout -- <file name>
git reset HEAD <file name>

远程仓库

以gitHub为例,账号名为Zhangguiguang,仓库名为gitTest

把本地git仓库关联到远程仓库

git remote add origin git@github.com:Zhangguiguang/gitTest.git

把本地仓库所有内容推送到远程库

git push -u origin master // 首次推送内容
git push origin master    // 之后推送内容可以忽略 -u

git push origin local_branch:remote_branch  // local_branch为本地存在的分支,remote_branch为远程分支,如果remote_branch不存在则会自动创建分支。

从远程库克隆

git clone git@github.com:Zhangguiguang/gitTest.git

分支

git branch //查看分支

git branch <name> // 创建分支

git branch -d <name> // 删除分支
git branch -D <name> // 删除分支:强行删除,该分支有修改,但是没有被合并到master,需要使用强行删除命令

git checkout <name> // 切换分支

git checkout -b <name> // 创建+切换分支

git merge <name> // 合并某分支到当前分支

git merge --no-ff -m <"merge with no-ff"> <branch2> 把 branch2分支合并到当前分支,且当成一次commit

存储工作现场

git stash // 保存当前的工作进度,此时工作区是干净的,没有修改、没有commit

git stash list // 查看已保存的工作现场列表

git stash apply // 恢复最后一个工作现场
git stash apply <index or stashName> // 恢复指定工作现场,可以指定下标、场景名

git stash drop // 从stash list删除最后一个工作现场
git stash drop <index or stashName> // 从stash list删除指定工作现场,可以指定下标、场景名

git stash pop // 恢复最后一个工作现场并从stash list删除

多人协作

git remote // 查看远程库信息
git remote -v // 查看详细信息

git push origin <name> // 推送指定分支到远程库
// 如果推送失败,先用git pull抓取远程的新提交,解决冲突再提交

git pull // 将远程库的最新提交拉取下来

git branch --set-upstream <dev> origin/<dev> // 将本地分支与远程分支链接起来

标签

git tag <name> // 对当前分支的HEAD打一个tag

git tag <name> <commit id> // 在指定commit位置打一个tag

git tag // 查看所有tag

git show <tagname> // 查看指定tag的信息

git tag -a <tagname> -m <tagdescription> <commit id> // 可用-a指定tag名, -m指定tag描述

操作标签

git tag -d <tagname> // 删除tag

git push origin <tagname> // 把tag推送到远程库
git push origin --tags // 一次性推送所有tag

// 如果tag被推送到远程,需要删除需要两步
git tag -d <tagname> // 删除本地tag
git push origin :refs/tags/<tagname> // 删除远程tag

上一篇下一篇

猜你喜欢

热点阅读