git配置及常用命令汇总

一、初次安装git配置用户名和邮箱

1. 初次安装git需要配置用户名和邮箱

你需要运行命令来配置你的用户名和邮箱:

$ git config --global user.name "yourname"

$ git config --global user.email "your_email@youremail.com"

# 查看git所有已配置项 $ git config --list

注意:(引号内请输入你自己设置的名字,和你自己的邮箱)此用户名和邮箱是git提交代码时用来显示你身份和联系方式的,并不是github用户名和邮箱

2. git支持https和git两种传输协议,github分享链接时会有两种协议可选:

git协议链接:
git协议链接图例
https协议链接:
HTTPS协议链接图例

git 使用https协议时,每次pull, push都会提示要输入密码;使用git协议时,使用ssh密钥,这样可以免去每次都输密码的麻烦

二、初次使用git的用户要使用git协议大概需要三个步骤:

  1. 生成密钥(公钥+私钥)
  2. 设置远程仓库上的公钥
  3. 把git的 remote url 修改为git协议
  4. 多git账户配置(补充)

详细说明:

1. 生成密钥(公钥+私钥)

大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。首先你要确认一下本机是否已经有一个公钥。
SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:

$ cd ~/.ssh
$ ls
 config  id_rsa.pub  id_rsa_my.pub  id_rsa_wh.pub  id_rsa  id_rsa_my   id_rsa_wh      known_hosts

看一下有没有id_rsaid_rsa.pub(或者是id_dsa和id_dsa.pub之类成对的文件),有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
假如没有这些文件,甚至连 .ssh 目录都没有,可以用 ssh-keygen 来创建。该程序在 Linux/Mac 系统上由 SSH 包提供,而在 Windows 上则包含在 MSysGit 包里:

$ ssh-keygen -t rsa -C "your_email@youremail.com"
 Creates a new ssh key using the provided email # Generating public/private rsa key pair.
 Enter file in which to save the key (/home/you/.ssh/id_rsa):
 #直接按Enter就行。然后,会提示你输入密码,如下(建议输一个,安全一点,当然不输也行,应该不会有人闲的无聊冒充你去修改你的代码):
 Enter same passphrase again: [Type passphrase again]
 #完了之后,大概是这样:
 Your public key has been saved in /home/aaa/.ssh/id_rsa.pub.
 The key fingerprint is: # ******:db your_email@youremail.com
#到此为止,你本地的密钥对就生成了。

2. 设置远程仓库上的公钥

2.1 查看公钥

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5Q/ylWFrMTuSqEA0iXGf9MXbbeJxW2GrWNRGlm0WAcvaCUtLQjhjo/j+RiYc37kUck0yBieoPqWfjkeohzay4bjNuUYV5k4h09XXErNEMUy2BqesX7MsdojC9ueU89UY6Z6WSuWvKMiB1e59obRDbH5NSfZCGCGYtrkvqXdf4ZR4JnsmgKqHwtZwpaXwQ/1kbkYYxCkm8ssDJRkUrBGcEchysR4/HctBaHYhg1ODvaMT6ZD7o6OqnJQmtb/WfdDjO7ffqHz2an+LRaCPeaYpce5SPA9qi3PEg23MgL8UREF0dRCv9v5bycXkH1ObUtKPeVMpcuNC9yqOMNI95nZOB your_email@youremail.com

2.2 登陆你的github帐户并添加公钥

点击右上角的头像,找到 Settings -> 左栏点击 SSH and GPG keys -> 点击 New SSH key,然后你复制上面的公钥内容,粘贴进“Key”文本域内。 title域,随便起个名字。最后 点击 Add key。

2.3 完成以后,验证下这个key是不是正常工作

$ ssh -T git@github.com
Attempts to ssh to github
#如果,看到:
Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.
#恭喜你,你的设置已经成功了。

3. 把git的 remote url 修改为git协议

使用命令 git remote -v 查看你当前的 remote url

$ git remote -v
origin  git@git.github.com:yourpackage/yourprojectname.git (fetch)
origin  git@git.github.com:yourpackage/yourprojectname.git (push)

#如果是以上的结果那么说明此项目是使用https协议进行访问的(如果地址是git开头则表示是git协议)
#你可以登陆你的github,就像本文开头的图例,你在上面可以看到你的ssh协议相应的url,类似:
#复制此ssh链接,然后使用命令 git remote set-url 来调整你的url。
$ git remote set-url origin git@github.com:yourpackage/yourprojectname.git
#然后你可以再用命令 git remote -v 查看一下,url是否已经变成了ssh地址。
#然后你就可以愉快的使用git fetch, git pull , git push,再也不用输入烦人的密码

4. 多git账户配置(补充)

按照上述1和2,创建多个账户秘钥并配置公钥,在ssh目录下创建config并配置

$ cd ~/.ssh
# 创建config
$ touch config
# 查看当前目录
$ ls
#编辑config
$ vim config

# 配置github.com
Host github.com    // 自定义域名地址
    HostName github.com   // 真实域名地址
    IdentityFile C:\Users\Admin\.ssh\id_rsa    // id_rsa位置
    PreferredAuthentications publickey    // 权限验证
    User username1    // 用户名
 
# 配置 github2.com
Host github2.com
    HostName github2.com 
    IdentityFile C:\Users\\Admin\.ssh\id_rsa_my
    PreferredAuthentications publickey
    User username2  

三、常用命令汇总

mkdir: XX (创建一个空目录 XX指目录名)

pwd: 显示当前目录的路径。

git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

git add XX 把xx文件添加到暂存区去。

git reset --mixed 把上次add文件撤销但修改保留。

git commit –m “XX” 提交文件 –m 后面的是注释。

git status 查看仓库状态

git diff XX 查看XX文件修改了那些内容

git log 查看历史记录

git reset –-hard HEAD^ 或者 git reset –-hard HEAD~ 回退到上一个版本 (如果想回退到100个版本,使用git reset –hard HEAD~100 )

cat XX 查看XX文件内容

git reflog 查看历史记录的版本号id

git checkout — XX 把XX文件在工作区的修改全部撤销。

git rm XX 删除XX文件

git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库

git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

git clone https://github.com/tugenhua0707/testgit 从远程库中克隆

git checkout –b dev 创建dev分支 并切换到dev分支上

git branch 查看当前所有的分支

git checkout master 切换回master分支

git merge dev 在当前的分支上合并dev分支

git branch –d dev 删除dev分支

git branch name 创建分支

git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时 也删除文件

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master Git会把master分支推送到远程库对应的远程分支上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yawpei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值