git常用命令总结

分支(branch)操作相关命令

查看本地分支:$ git branch

查看所有分支列表:$ git branch -a

查看当前分支:$ git branch -v

查看远程分支:$ git branch -r

创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支

切换分支:$ git checkout [name]

创建新分支并立即切换到新分支:$ git checkout -b [name]

删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并

创建远程分支(本地分支push到远程):$ git push origin [name]

删除远程分支:$ git push origin :heads/[name]

ls :查看目录列表

cd 目录:切换到目录

pwd:显示当前目录

rm 文件名:删除该文件

mkdir 目录名:创建目录

rmdir 目录名:删除目录

git init:将当前目录变成Git可以管理的仓库

git add . :添加所有文件

git commit -m “备注信息”:为添加的文件写上注释

git status:查看当前文件的状态

git diff 文件名:查看文件修改内容

git log:显示由近到远的提交日志

git log --pretty=oneline:输出比上边命令简介的信息

cat 文件名:查看文件内容

获取远程分支并创建本地分支:
git checkout -b dev(本地分支名) origin/dev(远程分支名)

将以Controller结尾的文件的所有修改添加到暂存区:
$ git add *Controller

将所有以Hello开头的文件的修改添加到暂存区:
$ git add Hello*

将暂存区的修改提交到仓库,后面添加上有意义的注释信息:
$ git commit -m “comment”

在file被修改了还未提交的时候查看修改的部分:
$ git diff file

查看git的commit信息,每次提交的信息包括注视在内,从最新提交到最久提交:
$ git log

Git的版本号(commit id)是SHA1值ea34578d5496d7dd233c827ed32a8cd576c5ee85

退回到相对于当前版本的上一个版本 HEAD 表示当前版本:
$ git reset --hard HEAD^

退回到相对于当前版本的上上一个版本 HEAD 代表当前版本:
$ git reset --hard HEAD^^

退回到相对于当前版本的上 100 个版本去 HEAD 表示当前版本:
$ git reset --hard HEAD~100

退回到指定的版本 这里不需要全部写commit id Git 回去自动适配:
$ git reset --hard 3628164

在退回到旧版本之后可以查看旧版本之前的提交日志
当我们想从一个旧版本退回到新版本但是我们关闭了shell窗口,不能查看之前的commit id了,就可以通过:
$ git reflog //查看到之前的版本的commit id

从Git版本库中删除文件(同时从文件系统中删除文件) $ git status 正常:
$ git rm file

从文件系统中删除文件(Git 中还是有记录),$ git status 的时候Git 会告诉你有一个file 被删除了:
$ rm file

创建SSH rsa key
$ ssh-keygen -t rsa -C “youremail@example.com” // 创建SSH Key
一路回车就好,
如果顺利会在user下UserName目录中生成一个.ssh目录里面有id_rsa和id_rsa.pub两个文件
id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以告诉他人还有在github上添加的也是这个公钥
登陆GitHub,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了

将本地的master分支推送到远程的master分支中:
$ git push -u origin master

本地切换到dev分支然后将本地的dev分支推送到远程:
$ git push -u origin dev

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
$ git merge --no-ff -m “comment” dev
// 准备合并dev分支,请注意–no-ff参数,表示禁用Fast forward

冻结当前的分支修改:
$ git stash

列出所有的工作现场存储:
$ git stash list

恢复工作现场(只有一个的时候可以省略后面的,如果有多个可以恢复指定的某一个stash)但是不删除存储中的stash:
$ git stash apply stash@{n}

删除存储的工作现场(只有一个的时候可以省略后面的,如果又多个就指定删除某一个):
$ git stash drop stash@{n}

恢复的同时把stash内容也删了(只有一个的时候可以省略后面的,如果又多个就指定删除某一个):
$ git stash pop stash@{n}

删除某一个分支,前提是在该分支和产生该分支的主分支已经合并了(merge):
$ git branch -d branchName

删除某一个分支,无论是否合并都强制删除:
$ git branch -D branchName

建立本地dev 分支和远程dev分支的联系:
$ git branch --set-upstream dev origin/dev

本地分支推送到远程仓库:
$ git push origin branch-name

在当前版本HEAD上打一个名称为v1.0 的标签:
$ git tag v1.0

查看所有标签,会列表出所有的标签名:
$ git tag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值