Git常用命令集合

时间:2021-01-06 20:37:29


git config --global user.name "userName"(添加用户名)


git config --global user.email "exmapel@exam.com"(添加邮箱)


git init(将当前目录初始化为git仓库)


git pwd(显示当前路径)


$ mkdir(创建新目录)


git add exam.txt(将exam.txt添加到暂存区)


git -commit -m "add a discription"(提交修改)


git status(获取修改信息)


git diff exam.txt(查看修改前后信息的不同)


git log(获取记录)


git log --pretty=oneline(单行显示)


HEAD表示版本


git reset --hard HEAD^(恢复到上一个提交)


cat exam.txt(输出exam.txt的内容)


git reset --hard commit_id(写前几位就好,git自动查找)


git reflog(获取所有版本号)


git diff HEAD -- exam.txt(查看工作区和版本库里面最新版本的区别)


git checkout --exam.txt(丢弃工作区的内容,回到最近一次git commit或git add时的状态)
(恢复被删除的文件)


git rm exam.txt(删除exam.txt)
git commit -m "remove file exam"(删除exam.txt并添加信息)


git remote add origin git@github.com:Youyou-0826/github.git(关联本地github仓库)


git push -u origin master(第一次向远程库推送本地仓库内容)
git push origin master


git clone https://github.com/Youyou-0826/git.git(git支持多种协议,但是ssh支持的原生git协议速度最快)


git branch branch_name(创建一个新分支)


git checkout branch_name(切换到branch_name分支)


git checkout -b branch_name(创建并切换到branch_name分支)


git branch(查看当前分支)


git merge branch_name(branch_name分支合并到当前分支)


git branch -d branch_name(删除branch_name分支)


git log --graph --pretty=oneline --abbrev-commit(图形显示合并记录)


git merge --no-ff -m "merge with no-ff" branch_name(不使用fast forward,合并后的历史有分支)


git stash(隐藏当前工作空间)


git stash list(查看隐藏工作空间)


git stash apply(从隐藏工作空间恢复工作空间,stash内容不删除)


git stash pop(从隐藏工作空间恢复工作空间,stash内容删除)


git branch -D branch_name(强行删除一个未被合并过的分支)


git remote (-v)(查看远程库信息)


git push origin branch_name(推送到branch_name分支)


git checkout -b dev origin/dev(创建本地dev分支)


git pull(抓取最新提交)


git branch --set-upstream branch-name origin/branch-name(创建本地分支和远程分支的关联)


git checkout -b branch-name origin/branch-name(在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致)


git tag tag_name(给所在分支打一个新标签)


git tag(查看所有标签)


git tag tag_name commit_id(给commit_id打tag_name标签)


git show tag_name(查看标签信息)


git tag -a tag_name -m "..."(制定标签信息)


git tag -d tag_name(删除标签)


git push origin tag_name(推送某个标签到远程)


git push origin --tags(一次推送所有未推送的标签到远程)


//删除远程标签
1. 删除本地标签
2. git push origin :refs/tags/tag_name