Git 命令

配置全局 用户名、邮箱

git config --global user.name "Your Name"
git config --global user.email "[email protected]"

创建仓库

git init

提交

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

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

查看

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   // 回退/前进到指定版本

撤销修改

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

删除文件

git rm 

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

远程仓库

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

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

git remote add origin [email protected]: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 [email protected]:Zhangguiguang/gitTest.git

分支

git branch //查看分支

git branch  // 创建分支

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

git checkout  // 切换分支

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

git merge  // 合并某分支到当前分支

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

存储工作现场

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

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

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

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

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

多人协作

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

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

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

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

标签

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

git tag   // 在指定commit位置打一个tag

git tag // 查看所有tag

git show  // 查看指定tag的信息

git tag -a  -m   // 可用-a指定tag名, -m指定tag描述

操作标签

git tag -d  // 删除tag

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

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

你可能感兴趣的:(Git 命令)