Git 常用操作

 
Category: Linux-Shell

配置 git 环境

基本信息

git config --global user.name <your github name>
git config --global user.email <your github email>
# check :
$ cat  ~/.gitconfig
[user]
	name = xxx
	email = yy@zz.com

这里建议采用下面的命令保存秘钥, 否则每次都要输入很麻烦(非自己机器请不要保存):

git config --global credential.helper store

可以看到, 这些配置其实都是在$HOME/.gitconfig 文件中写入某些条目而已.

ssh 公钥生成

注意这里需要用较新的加密算法, 原来的 rsa 已经被废弃了. 这里使用

$ ssh-keygen -t ecdsa -C "yy@zz.com"
$ cat ~/.ssh/id_ecdsa.pub

Copy 到 GitHub 的settings/ssh-gpg界面.

  • -t: 指定加密算法
  • -C: 指定注释信息

测试:

$ ssh -T git@github.com
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

此时已经可以使用git clone 了.

但是提交代码还需要 Copy 一下密码. 不是 GitHub 登录密码, 是秘钥

提交(push)

# 不用每次都去存密码, 仅在第一次存储
git config --global credential.helper store

中文文件名乱码

git config --global core.quotepath false

ignore 条目

之前专门写过一篇, 这里简单说下

touch ~/.gitignore_global
## edit your diy rules list
git config --global core.excludesfile ~/.gitignore_global

git 分布式版本控制相关概念

基本结构

熟悉三个区域: 工作区(本地) -> 暂存区(本地) -> 版本仓库(远程)

commit 之后取消提交

git commit --amend

远程管理

拉取请求

分支管理

把分支理解为指针(引用)最为合适.

git删除全部提交历史,成为一个新的仓库-腾讯云开发者社区-腾讯云;

总结

  1. 工作区的任何修改都有可能丢失, 存入暂存区之后才有恢复的可能.