git实用指令笔记

拉取代码到本地

git clone https://github.com/….git    

在本地目录中创建新的仓库

1.进入到改目录下打开命令行编辑工具
2.输入以下指令

git init

查看文件在工作区,暂存区的状态

git status

比较工作区文件与版本的区别

git diff # 用于比较工作区(未提交到暂存区)与暂存区(已经通过 git add 和 git commit)具体的修改变化

把目录内有变化的文件提交到暂存区

把目录所有的变化提交到暂存区,包括新文件

git add .

把目录所有的变化提交到暂存区,不包括新文件

git add -u

你也可以只添加部分文件内容到暂存区

git add [file1] [file2] 

将暂存区内容添加到本地仓库中

git commit -m '备注信息'

你也可以只提交某部分文件内容到本地仓库中

git commit [file1] [file2] ... -m '备注信息'

把本地仓库推送到远程仓库

git remote add origin 你的远程仓库地址
git push

git remote 命用于在远程仓库的操作

从将本地的分支版本上传到远程并合并

git push

从远程获取代码库

git fetch

从远程获取代码并合并本地的版本

git pull

切换分支

git checkout 分支名

如果想创建分支则可以

git checkout -b 分支名

如果想切换回上一个分支可以

git checkout -

查看分支

git branch # 查看本地分支
git branch -a # 查看本地远程分支
git branch [分支名] # 创建分支

删除分支

git branch -d [分支名] # 删除本地分支,需要切换到其他分支  -D为强制删除
git push origin --delete [分支名] # 删除远程分支

重命名分支

 git branch -m 分支原名 分支新名

合并分支

把test分支合并到当前分支上

git merge test

查看按提交时间排序的所有更新

git log

退回某一次提交的版本

git reset [--soft | --mixed | --hard] [HEAD]

-mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
--soft 参数用于回退到某个版本
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

git reset –hard HEAD~3  # 回退上上上一个版本  
git reset –hard bae128  # 回退到某个版本回退点之前的所有信息。 
# bae128为hash值,使用git log可以查看到相关commit的hash
git reset --hard origin/master    # 将本地的状态回退到和远程的一样 

将工作区内容暂存起来

git add .  # 执行这一步是防止新添加的文件在执行git stash 后丢失
git stash save "备注信息" # 备注信息也可以不用写 写上是方便查找
git list # 查看stash的存储列表
git apply # 应用某个存储,但不会把存储从存储列表中删除
git stash pop # 命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除
# 上述指令末尾加上stash@{$num} 可以选择对应的存储 不填则默认stash@{0}
git stash drop stash@{$num} # 丢弃stash@{$num}存储,从列表中删除这个存储
git stash clear # 删除所有缓存的stash

使用git mv解决更改现有文件大小写命名不识别的问题

git mv [原文件名] [新文件名]

修改本地commit信息

git rebase -i [startpoint] [endpoint] # [startpoint] [endpoint]则指定了一个编辑区间,如果不指定[endpoint],则该区间的终点默认是当前分支HEAD所指向的commit
# [startpoint] [endpoint]为commit对应的hasd值,hash值可使用git log 查看

在这里插入图片描述
如上图,如果想更改1的commit信息就需要拿到2的hash的前面一段就可以了不需要完整的。
这时候会进入vim的命令模式,这时候输入i进入编辑模式
将想要修改的提交前的pick改为reword,如果需要修改多个,也可以将对应的多个pick改为reword
编辑完后按esc键退出编辑模式回到命令模式下输入:wq后回车确认指令,保存并退出
在弹出的窗口中,再次按i进入编辑模式,就可以修改commit的信息了,保存退出跟上面一样,这里就不重复说明了。

git rebase 指令

在这里插入图片描述

#p,pick <commit> = 保留该commit

#r,reword <commit> = 保留该commit,但需要修改提交消息

#e,edit <commit> = 保留该commit,但我要停下来修改该提交(不仅仅修改提交消息)

#s,squash<commit> = 将该commit和前一个commit合并

#f,fixup <commit> = 类似于“squash”,但丢弃此提交的日志消息

#x,exec <command> = 执行shell命令

#b,break = 停在这里(可用’git rebase --continue'继续rebase)

#d,drop <commit> = 丢弃该commit

使用cherry-pick将指定的提交(commit)应用于其他分支

把某commit同步到当前分支上

git cherry-pick [commitHash]

把A到B之间(不包含A)的commit同步到当前分支上,A和B都是commit的Hash

git cherry-pick A..B 

如果合并后出现冲突,解决掉冲突使用git add .指令保存,再使用git cherry-pick --continue继续。
如果想放弃当前合并则可以使用git cherry-pick --abort放弃合并,回到操作前的样子

组合命令(&&)

用 && 可以组合多条命令,终端会依次从左到右执行

git checkout develop && git pull && git checkout master

git add . && git commit -m '备注信息' && git push

tag的使用

tag 是 Git 版本库的一个快照,指向某个 commit 的指针,相当于一个标记。
这样我们就可以用tag来记录发布的版本。

如何创建标签

git tag x.x.x -m '说明信息' master 
# x.x.x:tag的版本号。
# 说明信息:这个tag的说明信息。
# master:tag是基于那个分支的最新节点上打出来的,补上master,确保tag是在master分支上。

查看标签

git show [tagName]

删除标签

git -d [tagName]
git push origin [tagName] # 推到远程仓库,如果远程仓库没有该tag,可不用这一步
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值