git 的一些常用指令以及避雷解决方法

1、git stash 暂存指令,git stash pop 释放并且删除最新的一条暂存内容指令(可指定释放某一条),git stash apply 释放指定的暂存内容,不会删除暂存的记录;git stash list 查看所有暂存内容;git stash drop 删除暂存内容,默认删除最新一条暂存内容(可指定删除)。

2、git ceckout -b 创建并且切换到新分支,新分支依据哪一个分支创建的就会和那个分支完全一样,包括原分支修改但是未commit的内容。

3、使用git diff 查看当前分支的改动内容,包括与上一次提交的差异。可按“q”键结束指令,或者ctrl+c(但是一般没效果)。

4、git log 查看提交日志,可按“q”键结束指令。

5、git pull --rebase origin 当多人开发时,提交代码不会产生新的节点,提交树是一路向前的,保持代码干净;与git pull 的区别:git pull 是 拉取远程分支代码+merge合并,而git pull --rebase是拉取远程分支代码+rebase,它会把拉取的下来的代码应用在你本地提交代码之下。

6、git fetch 从特定分支获取更改,可以实现从指定分支的开始节点拉取到结束节点。

7、git cherry-pick 把指定分支的某一个提交合并到目标分支,通过提交的对应的哈希值来实现。

8、git reset 是一个撤回指令,当你把代码push到本地时想要撤回时使用,它有三种模式:soft、mixed(默认)、hard。

(1)、soft:git reset --soft 使指针移动到指定的提交节点(一定是要push了之后才有效果,commit没用),同时它还可以保留暂存区(add. 之后)和工作目录的更改(就是未保存的更改)。

(2)、mixed:git reset 或者 git reset --mixed ,指针移动到指定的提交节点,保留工作目录中的更改,但是会清除暂存区(就是撤销add. 的暂存)。

(3)、hard: git reset --hard 指针移动到指定的提交节点,这个指令会丢弃暂存区和工作目录中的更改,也就是会失去当前未提交的所有修改,要小心使用。

最后,git reset HEAD~1是撤销上一次的提交并且清除暂存区,但是会保留工作目录的修改,意思就是本地保留在暂存区的该指令过后要再次add. 。

git reset HEAD~1 相较于undo commit 的指令,undo commit 是将撤销的内容回到暂存区,并且保留暂存区和工作目录的修改。

9、git revert 撤销远程提交,撤销后再次提交会在历史记录中添加一个新的提交(需要使用强制提交指令来提交),这对于多人协作的项目尤为重要。

10、怎么解决把一个基于dev分支拉取的dev_fee分支上写的新的需求或者修改合并到dev并且不产生节点分叉,先在dev_fee分支上使用pull --rebase拉取最新的代码,然后再切换到dev分支进行合并。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值