博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 常用命令整理
阅读量:7173 次
发布时间:2019-06-29

本文共 3679 字,大约阅读时间需要 12 分钟。

根据自己在项目中使用比较多的,总结了以下比较常用的git命令:

 

#关系图

远程仓库(Remote) - 本地仓库(Repository) - 暂存区(Index) - 本地工作空间(Workspace)

-------------------------------------------------

#git个人邮箱昵称配置
git config --global user.email "xxx@example.com"
git config --global user.name "xxx"

#生成秘钥

ssh-keygen -t rsa

#git clone时出现

Permissions 0670 for '/home/xxx/.ssh/id_rsa' are too open.
直接
chmod 400 ~/.ssh/id_rsa
即可

#秘钥存放地址

cd ~/.ssh

#仓库初始化(删除仓库的话把目录下的 .git 目录删除即可)

git init

tips: ls -al 会看到有个.git文件夹

#仓库初始化(裸仓)

git init --bare
-------------------------------------------------

 

-------------------------------------------------

#把文件加到暂存区(stage/index)
git add test.txt
或(.代表当前目录下的所有)
git add .

#提交(暂存区的所有内容提交到本地仓库)

git commit -m "commit mark"

#提交(-a 会将修改或者删除的文件自动加到暂存区,但是新增文件不会;如果没有新增文件的话就相当于add & commit)

git commit -a -m "commit mark"

#查看仓库当前的状态

git status
-------------------------------------------------

 

-------------------------------------------------

#克隆(-o 参数可以命名远程主机名,默认为origin)
git clone https://github.com/jquery/jquery.git
git clone -o qewr https://github.com/jquery/jquery.git

#列出所有远程仓库

git remote -v

#查看远程仓库详细信息

git remote show <主机名>

#将一个库加到自己主机上 命名为 qwer

git remote add <主机名> <网址>
git remote add qwer git@github.com:ddmmddmm/wuziqi.git

#删除远程库配置

git remote rm <主机名>
git remote rm qwer

#更改远程仓库名称

git remote rename <原主机名> <新主机名>
git remote rename qwer getAsdf
-------------------------------------------------

 

-------------------------------------------------

#下载远程仓库的所有变动
git fetch [remote]

#取回远程仓库的变化,并与本地分支合并

git fetch origin master
git pull [remote] [branch]

#将本地分支推送到远程仓库

git push origin dev:dev
意思是“上传我本地的 dev 分支到远程仓库中去,仍旧称它为 dev 分支”
或者 git push origin dev
#将本地分支推送到远程仓库并建立追踪关系
git push -u origin dev:dev
-------------------------------------------------

 

-------------------------------------------------

#恢复暂存区的指定文件到工作区
git checkout [file]

#重置暂存区与工作区,与上一次commit保持一致

git reset --hard

#回退到上个commit

git reset --hard HEAD^

#回退到上上个commit(在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100)

git reset --hard HEAD~2

#重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致

$ git reset --hard [commit]

#查看某个文件修改内容

git diff test.txt

#显示具体的某次的改动的修改

git show [commitId]

#查看提交记录(--pretty=oneline 参数可以单行显示)

git log

#查看操作记录(如果回退版本之后,又想恢复到当前版本,可以通过此命令查到commit_id,从而恢复)

git reflog

#删除文件(记得commit)

git rm xxx
-------------------------------------------------

 

-------------------------------------------------

#查看本地分支
git branch

#列出所有远程分支

git branch -r

#列出所有本地分支和远程分支

git branch -a

#创建分支

git branch dev

#切换分支

git checkout dev

#创建+切换分支

git checkout -b dev

#合并dev到当前分支

git merge dev

#删除分支

git branch -d dev

#查看分支的追踪关系

git branch -vv

#本地分支与远程分支建立关联(git pull,git push时可以不用指定,另一个更为简洁的方式是初次push时,加入-u参数)

git branch --set-upstream-to=origin/dev_xxx dev_xxx

-------------------------------------------------

 

-------------------------------------------------

#列出所有tag
git tag

#新建一个一个叫"myTag"的tag在当前commit

git tag myTag

#新建一个tag在指定commit

git tag myTag [commit]

#删除本地指定tag

git tag -d myTag

#查看tag信息

git show myTag

#提交指定tag

git push origin myTag

#提交所有tag

git push origin --tags
-------------------------------------------------

 

-------------------------------------------------

#将当前的修改储藏起来
git stash

#查看储藏堆栈

git stash list

#从储藏中恢复,但不删除(stash@{2}在list中可以看到)

git stash apply stash@{2}

#从储藏中恢复,并删除(stash@{2}在list中可以看到)

git stash pop stash@{2}

#从储藏中删除

git stash drop stash@{2}
-------------------------------------------------

 

参考:

#git的使用

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

#git - 简明指南

http://rogerdudler.github.io/git-guide/index.zh.html

#常用 Git 命令清单

http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

转载于:https://www.cnblogs.com/lzs-888/p/9319396.html

你可能感兴趣的文章
Python元组
查看>>
HD TUNE以及所有其他硬盘检测工具都不能使用的情况
查看>>
Linux内存分析
查看>>
vSphere 5.5 vCenter迁移至分布式交换机
查看>>
排序 遍历
查看>>
第二次作业
查看>>
Mysql主从复制
查看>>
高斯消元法解非奇异线性方程组的MATLAB程序
查看>>
Ubuntu下Tomcat连接MySql数据库
查看>>
WPF Summary 系列指导(连载中…^_^)
查看>>
feof()的实现
查看>>
VS中Debug与Release、_WIN32与_WIN64的区别
查看>>
真正通用的SQL分页存储过程
查看>>
coredump的裁剪方法
查看>>
精选30个优秀的CSS技术和实例
查看>>
洛谷P5206 数树
查看>>
20160509-hibernate--继承映射
查看>>
删除字符串最后一个字符的几种方法
查看>>
extjs apply,applyif,override,extend 的区别
查看>>
mycat 自增id笔记
查看>>