GIT备忘

Git log
查看某个文件改动历史信息:

cd 到具体文件abc.m下
git log --pretty abc.m (如果要成行显示则 git log --pretty=oneline abc.m)
git show 提交ID (查看某一条修改具体情况继续)

Git代码重置

git commit 后重置代码,关键是找到commit提交记录
1,在所在代码文件路径下执行 git reflog 这样就能看到所有的 commit 后的记录。
git reflog
80caee40 (kanghongpu/add_carDetail_BAPP-2475) HEAD@{31}: merge Main/mian_2.90.0: Merge made by the 'recursive' strategy.
d7a079dc HEAD@{32}: checkout: moving from kanghongpu/fb_DebugTool_f2.90.0 to kanghongpu/add_carDetail_BAPP-2475
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{33}: checkout: moving from Main/mian_2.90.0 to kanghongpu/fb_DebugTool_f2.90.0
8546e95f (HEAD -> Main/main_jira_2487_jieYiXian_f_m2.91.0, origin/Main/mian_2.91.0, origin/Main/mian_2.90.0, origin/Main/main_jira_2487_jieYiXian_f_m2.91.0, Main/mian_2.91.0, Main/mian_2.90.0) HEAD@{34}: commit: kanghongpu 车主融bugfix
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{35}: checkout: moving from Main/mian_2.84.0 to Main/mian_2.90.0
4cf60505 (origin/Main/mian_jira_2418_mianpeiou_1, origin/Main/mian_2.84.0, Main/mian_2.84.0) HEAD@{36}: checkout: moving from Main/mian_2.90.0 to Main/mian_2.84.0
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{37}: checkout: moving from Main/mian_2.84.0 to Main/mian_2.90.0
4cf60505 (origin/Main/mian_jira_2418_mianpeiou_1, origin/Main/mian_2.84.0, Main/mian_2.84.0) HEAD@{38}: checkout: moving from kanghongpu/fb_DebugTool_f2.90.0 to Main/mian_2.84.0
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{39}: reset: moving to HEAD
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{40}: checkout: moving from Main/mian_2.90.0 to kanghongpu/fb_DebugTool_f2.90.0
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{41}: checkout: moving from kanghongpu/addressDetail_bugFix to Main/mian_2.90.0
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{42}: reset: moving to dd472d72f7b36c6166a4812dc73fcdbbe9794b67
dd472d72 (origin/Main/mian_2.89.0, Main/mian_2.89.0) HEAD@{43}: checkout: moving from kanghongpu/BAPP-2483TYxinshen_qianzhi

2,找到上次提交的记录,执行 git reset —hard 12345id 就可以找回丢失的代码。
至于add后,没有commit。。这个有点不好找。。直接百度吧。。。

查看当前分支来自哪里

git reflog --date=local | grep 分支名称
git reflog | grep 3.0.2
checkout: moving from Main/main_3.0.1 to Main/main_3.0.2

tag相关。。

查看标签git tag -l

给历史提交打标签
$ git log --pretty=oneline
15027957951b64cf874c3557a0f3547bd83b3ff6 Merge branch 'experiment'
a6b4c97498bd301d84096da251c98a07c7723e65 beginning write support
0d52aaab4479697da7686c15f77a3d64d9165190 one more thing
6d52a271eda8725415634dd79daabbc4d9b6008e Merge branch 'experiment'
0b7434d86859cc7b8c3d5e1dddfed66ff742fcbc added a commit function
4682c3261057305bdd616e23b64b0857d832627b added a todo file

git tag -a v1.2 9fceb02

创建tag(保持项目、repo、tag号尽可能一致性。方便维护。)
$ git tag -a 0.0.1 -m “xxx"

删除标签
git tag -d v0.1 (不会自动推送到远程)
如果要删除远程则继续 git push origin :refs/tags/v0.1

推送标签到远程
git push origin v3.0.0 推此次标签 git push origin —tags 推送所有本地标签

查看当前tag版本下详细更改信息
git show 3.0.1
bogon:FengbangB_IOS user$ git show 3.0.1
tag 3.0.1
Tagger: kanghongpu kanghongpu@fengbang.com
Date: Wed Apr 14 09:28:43 2021 +0800
force update 86
commit 299177a33f03042374ae118b6d7fc20937dacee7 (HEAD -> Main/main_3.0.0, tag: 3.0.1, origin/Main/mian_jira_2502_channelManagerNeeds, origin/Main/main_3.0.0, Main/mian_jira_2502_channelManagerNeeds)
Author: kanghongpu kanghongpu@fengbang.com
Date: Wed Apr 14 09:16:49 2021 +0800
version3.0.1 release ----data86---force update---
diff --git a/FBResources/sh/update/caches/increase.data b/FBResources/sh/update/caches/increase.data
index fd97de0f..3ae9f1a7 100644
--- a/FBResources/sh/update/caches/increase.data
+++ b/FBResources/sh/update/caches/increase.data
@@ -58,3 +58,4 @@
83
84
85
+86

版本回退操作
git reset --hard commit_id(commit字符) 回退本地
git push origin HEAD —force 回退远程

或者另辟蹊径。。主分支回退。切换临时分支。。删除主分支。。临时分支上再新建主分支。。推送到远程。。。

Git部分命令记录

git branch -a | grep “分支名包含内容”

git rebase VS git mearch

  • (一股脑)使用merge命令合并分支,解决完冲突,执行git add .和git commit -m'fix conflict'。这个时候会产生一个commit。

  • (交互式)使用rebase命令合并分支,解决完冲突,执行git add .和git rebase --continue,不会产生额外的commit。这样的好处是,‘干净’,分支上不会有无意义的解决分支的commit;坏处,如果合并的分支中存在多个commit,需要重复处理多次冲突。

打开当前页面mac终端小工具

https://github.com/jbtule/cdto/releases/tag/v3.1

cat /etc/shells 查看当前系统shells命令:

bogon:~ user$ cat /etc/shells

List of acceptable shells for chpass(1).

Ftpd will not allow users to connect who are not using

one of these shells.

/bin/bash

/bin/csh

/bin/dash

/bin/ksh

/bin/sh

/bin/tcsh

/bin/zsh

当前应用

alias 别名命令

alias查看所有别名

bogon:~ user$ alias

type 别名名称 检验别名名称是否已存在

bogon:~ user$ type openfb

-bash: type: openfb: not found

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容