配置本地邮箱和账号
//全局配置
git config --global user.email "xxx@example.com"
git config --global use.name "xxx"
//为当前项目配置 邮箱和账号
git config user.name "zhangsan"
git config user.email "zhangsan@qq.com"
//修改配置文件也可以
//1. 打开当前项目文件夹,显示隐藏文件,打开config 添加
[user]
name = zhangsan
email = zhangsan@qq.com
免密码登陆,通过ssh密钥
//检查 .ssh文件夹,看看里边的密钥是否存在
cd .ssh
//不存在,就手动生成密钥--- 一路回车就可以了
ssh-keygen -t rsa -C "xxx@mail.com"
//打开.ssh 文件夹,用记事本打开id_rsa.pub,或者用cat命令查看,并复制内容
cat ./ssh/id_rsa.pub
//登录git仓库,个人设置中找到 ssh and Gpc keys
//拷贝复制的内容到内容框中
//测试
ssh -T git@github.com
//修复密钥失效 --- 执行完成 然后再测试一次
git remote set-url origin git@github.com:用户名/仓库名.git
远程仓库
通常先在git 上建立一个仓库,会有提示
1. 从git远程拉取仓库
//命令行打开存放的文件夹地址
cd Desktop
//克隆仓库到本地
git clone git@github.com:zhangsan/abc.git
2. 建立本地仓库,建立remote ,链接到远程仓库
操作说明
// 建立本地仓库 --- 会生成一个隐藏的文件夹 .git
git init
// 修改文件后,添加到暂存区
git add -a 指定文件
git add . //(添加所有变动文件)
// 暂存内容放入本地仓库
git commit -m 'xxxx'
// -M 重命名
git branch -M main
与远程仓库连接
git remote add origin git@github.com:zhangsan/abc.git
//查看远程主机详情
git remote show origin
//删除远程仓库链接
git remote rm origin
//给远程主机改名
git remote rename origin newName
查看状态
git status
查看历史,回退版本
//查看过往所有的历史日志
git reflog
//查看提交的历史日志(commit)
git log
//将历史日志合并为一行
git log --pretty=oneline
//回退到上一个修改
git reset --hard HEAD^
//回退到上上个修改
git reset --hard HEAD^^
//回退到上100个修改 (可以缩写)
git reset --hard HEAD~100
//回退到指定的历史修改,根据commit -m "xxxx"的内容
git reset --hard xxx
撤销
//撤销test.txt 文件最后一次修改
git checkout -- test.txt //切记符号“--”要加上。否则变成 git checkout 是切换分支
//撤销暂存区的修改到工作区
git rest HEAD test.txt
//放弃当前所有的修改
git checkout .
对比文件修改
//查看当前工作区和本地仓库的不同
git diff HEAD -- xxx.txt
推送
git push origin 远程分支名
// 强制提交
git push --force
分支
//建立分支 abc
git branch abc
//切换到分支 abc
git checkout abc
//建立并切换到分支abc
git chekcout -b abc
//在远程建立分支
git checkout -b abc origin/master
//查看分支
git branch
//查看所有分支(本地+远程)
git branch -a
//删除本地分支(需要先切换到其他分支)
git branch -d abc
//删除远程分支
git push origin --delete xxx
//关联远程分支
git branch --set-upstream-to abc origin/abc
//重命名本地分支
git branch -m old_name new_name
//重命名远程分支
//1.先删除远程分支 2.重命名本地分支并推送到远程分支,
拉取合并分支
//查看远程分支
git branch -r
//查看本地分支
git branch
// 拉取远程分支到本地 ---- 注意 本地分支名称 === 远程分支名称
git checkout -b 本地分支 origin/远程分支
//下次直接拉取并合并就可以了
git pull origin 远程分支
//先拉取,再合并分两部
git fetch origin 远程分支
git merge origin/远程分支
//设置默认拉取地址,方便快速拉取
git branch --set-upStream-to origin/远程分支 本地分支
// 快速拉取
git pull
//强制拉取远程覆盖本地
git fetch --all
//or
git remote update
git reset --hard origin/远程分支
git pull
合并分支
//强制删除本地分支,先切换到其他分支,再删除
git checkout 其他分支
git branch -D 本地分支
tag
//创建tag
git tag 1.1
//用指定commit 来创建tag
git tag -a 1.1 -m 'xxx'
//切换tag
git checkout 1.1
//提交
git push origin 1.1
git push orign --tags
//删除tag
git tag -d 1.1
//删除远程tag
git push origin --delete tag <tagname>
//查看tag名称
git describe
//查看指定tag
git show 1.1
//查看远程tags
git ls-remote --tags origin
--