git的一些技巧

发布时间:2024-08-07

git 是一个免费开源分布式版本控制系统,可以高效处理从小型到超大型项目内容管理,本文会介绍一些 git 使用的技巧。

配置管理

配置账号信息测试:ssh -T git@github.com

#用于获取帮助信息
git help config 
#查看配置信息
git config --list 
#修改全局名字
git config --global user.name "username"
#修改邮箱
git config --global user.email "user@example.com"
#删除全局设置
git config --global --unset name

https协议下免密码推送代码

git clone https://github.com/username/rep.git

通过https方式克隆可能需要密码,解决办法:进入当前克隆的项目 .git 目录下,编辑 config, 按照下面方式修改,你就可以推送代码不用输入密码了。

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
-    url = https://github.com/username/rep.git
+    url = https://用户名:密码@github.com/username/rep.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master

撤销远程记录

git reset --hard HEAD~1 # 撤销一条记录
git push -f origin HEAD:master # 同步到远程仓库

放弃本地修改内容

# 如果有的修改以及加入暂存区的话
git reset --hard
# 还原所有修改,不会删除新增的文件
git checkout .
# 下面命令会删除新增的文件
git clean -xdf

通过存储暂存区stash,在删除暂存区的方法放弃本地修改。

git stash && git stash drop

回退到某一个版本

git reset --hard <hash>
# 例如 git reset --hard a3hd73r
# --hard代表丢弃工作区的修改,让工作区与版本代码一模一样,与之对应,
# --soft参数代表保留工作区的修改。

搜索 commit 历史记录

git log --grep=224
# 这条命令是查看含有 "224" 关键字的 git commit

回滚到某个commit提交

git revert HEAD~1 # 撤销一条记录 会弹出 commit 编辑
git push # 提交回滚

去掉某个commit

# 实质是新建了一个与原来完全相反的commit,抵消了原来commit的效果
git revert <commit-hash>
其他阅读

Entity Framework Core链接Oracle的问题

最近使用 Entity Framework Core 来链接 Oracle 11g 数据库,发现很多 LINQ 语句使用起来都会有问题,查看日志输出发现是生成SQL语句无法被 11g 版本执行,好在Oracle官方已经给我们提供了解决方案。

查看原文

asp.net core实现一个反向代理

本文将向你展示如何在C#和ASP.NET Core中实现一个反向代理功能。

查看原文

C#桌面应用置顶

Winform和WPF开发中,有时会有需要置顶窗体的需求,本文就介绍怎么使用Win32API进行置顶

查看原文

浅析web前端中的MVC模式

MVC是常见的软件架构设计模式,它通过分离关注点改进代码的组织方式。区别于软件设计模式,只是为了解决问题总结出的抽象方法,一种架构模式种往往会用到多种设计模式。

查看原文

Nginx配置反向代理和负载均衡

Nginx是一个流行的Web容器,作为服务的入口,使用反向代理和负载均衡,达到隐藏和保护内部服务安全的作用,本文会描述Nginx反向代理和负载均衡的配置。

查看原文