git学习总结

简介: git学习总结

一、常用操作

1、Git 如何查看和修改用户名、邮箱?

当在GitHub中更改用户名时,git中并没有随之修改,需要自己进行修改,下面给出查看和修改用户名以及邮箱


  • 查看用户名以及邮箱,使用git config命令
git config user.name
git config user.email


  • 修改用户名以及邮箱,使用git config 命令的–global参数
git config --global user.name "your name"
git config --global user.email "your emails"


2、git - 查看本地公钥ssh-key

(1)文件夹方式查看

window系统打开目录文件:

C:/Users/user/.ssh/id_rsa.pub


复制该文件中全部内容为ssh-key。

(2)git bash方式查看

$ cd ~/.ssh //如果该命令无效的话,则本地没有ssh-key公钥,需要创建本地公钥
$ ls
$ cat id_rsa.pub


3、如何生成SSH key?

检查是否存在SSH key

在控制台输入:

git config --global  user.name "你的用户名"
git config --global user.email "你的邮箱"


查看已配置信息:

git config --global --list
• 1

执行下列命令生成密钥:

ssh-keygen -t rsa -C "你的邮箱"

中途需要进行3次或4次确认:

秘钥的保存路径,不更改则直接回车

是否覆盖上一次生成的密钥(若之前已经生成过)

密码(若不设置则直接回车)

确认密码

建议路径使用默认配置,密码不设置。这样每次git push等操作都不需要输入密码,比较方便。

若是用默认路径则在~/.ssh路径下将得到两个文件:id_rsa和id_rsa.pub。


打开~/.ssh/id_rsa.pub文件,复制其中的内容。


4、git删除本地分支和删除远程分支

我现在在dev20181018分支上,想删除dev20181018分支


1. 先切换到别的分支: git checkout dev20180927


2. 删除本地分支: git branch -d dev20181018


3. 如果删除不了可以强制删除,git branch -D dev20181018


4 有必要的情况下,删除远程分支(慎用):git push origin --delete dev20181018


5. 在从公用的仓库fetch代码:git fetch origin dev20181018:dev20181018


6. 然后切换分支即可:git checkout dev20181018


注:上述操作是删除个人本地和个人远程分支,如果只删除个人本地,请忽略第4步


二、深度操作

1、回退代码

查找到某个commit 的版本号git log --stat

本地执行回滚命令,回滚到某个commit版本 git reset --hard 版本号

远端同步回滚git push origin HEAD --force

2、版本穿梭

3、git 删除中间某次commit,重新提交到远程


4、git重新提交

撤销最近n个提交,变成add状态,可以重新commit git reset --soft HEAD~n
强制推送到远程 git push -f

三、git submodule的使用

开发过程中,经常会有一些通用的部分希望抽取出来做成一个公共库来提供给别的工程来使用,而公共代码库的版本管理是个麻烦的事情。今天无意中发现了git的git submodule命令,之前的问题迎刃而解了。


添加

为当前工程添加submodule,命令如下:

git submodule add 仓库地址 路径


其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。

注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)


命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。添加完成以后,再将子模块所在的文件夹添加到工程中即可。


删除

submodule的删除稍微麻烦点:首先,要在“.gitmodules”文件中删除相应配置信息。然后,执行“git rm –cached ”命令将子模块所在的文件从git中删除。


下载的工程带有submodule

当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:

git submodule update --init --recursive


即可将子模块内容下载下来后工程才不会缺少相应的文件

相关文章
|
3月前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
38 0
|
10月前
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
560 0
|
Java 开发工具 数据库
|
2月前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
46 1
|
3月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
170 0
|
3月前
|
缓存 数据可视化 开发工具
学习 Git,看这一篇就够了!(下)
学习 Git,看这一篇就够了!(下)
107 0
|
3月前
|
存储 Linux Shell
学习 Git,看这一篇就够了!(上)
学习 Git,看这一篇就够了!(上)
|
8月前
|
Java Linux 开发工具
阿里云git仓库学习
阿里云git仓库学习
126 1
|
3月前
|
缓存 开发工具 数据安全/隐私保护
git-学习git,这一篇就足够了(初学者视角实战教程)
git-学习git,这一篇就足够了(初学者视角实战教程)
191 0
|
8月前
|
安全 开发工具 git
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
54 0