git使用

全局设置

设置姓名和邮箱

git config --global user.name "ALI"
git config --global user.email "1416978277@qq.com"

使用https替代git来获取资源

git config --global url."https://".insteadOf git://

常用命令

命令示例解释
initgit init初始化为git项目
remotegit remote add origin git@gitee.com:xxxxxx/test.git已存在的项目设置远端地址
remote -vgit remote -v查看远端地址
remote removegit remote remove origin删除远端地址
remote clonegit clone git@gitee.com:xxxxxx/test.git在本地创建远端项目
addgit add ./把当前目录下的所有文件添加进项目
statusgit status查看变更的文件
commitgit commit -m备注提交项目
pushgit push推送项目到远端
push -ugit push -u origin master第一次推送项目到远端
pushgit push origin v2推送标签或分支到远端
pushgit push origin -d v2删除标签或分支到远端
pushgit push origin master --force强制推送到远端(危险)
pullgit pull从远端拉取项目并合并
fetchgit fetch从远端拉取项目并覆盖
fetch origingit fetch origin从远端拉取所有分支
resetgit reset --hard origin/master替换本地改动
loggit log查看日志
loggit log README.md查看指定文件的日志
diffgit diff查看修改
taggit tag显示所有分支
taggit tag v1当前已提交版本打分支
taggit tag v2 e9a6af7指定版本打分支
tag -dgit tag -d v1删除分支
showgit show v2显示标签更详情
branchgit branch查看所有分支
branch -rgit branch -r查看所有分支
branchgit branch a新建分支
branch -dgit branch -d a删除分支
branch -Dgit branch -D a强制删除分支
checkoutgit checkout a切换分支
checkout -bgit checkout -b a创建分支并切换过去
checkout -bgit checkout -b a origin/a从远端拉取a分支
mergegit merge dev将dev分支合并到当前分支

特殊操作

删除已提交的文件

删除所有版本里的node_modules文件夹

git filter-branch -f --prune-empty --index-filter "git rm --cached --ignore-unmatch -fr ./node_modules" -- --all

修改已提交的用户名和邮箱

分别修改所有用户名和邮箱

分别为作者名和邮箱、推送者名和邮箱

git filter-branch -f --env-filter "GIT_AUTHOR_NAME=ALI" -- --all
git filter-branch -f --env-filter "GIT_AUTHOR_EMAIL=1416978277@qq.com" -- --all
git filter-branch -f --env-filter "GIT_COMMITTER_NAME=ALI" -- --all
git filter-branch -f --env-filter "GIT_COMMITTER_EMAIL=1416978277@qq.com" -- --all
修改所有用户名和邮箱

保存为文件update.sh,运行bash update.sh

#!/bin/sh
git filter-branch --env-filter '
NEW_NAME="ALI"
NEW_EMAIL="1416978277@qq.com"
export GIT_AUTHOR_NAME="$NEW_NAME"
export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
export GIT_COMMITTER_NAME="$NEW_NAME"
export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
' --tag-name-filter cat -- --branches --tags
替换指定用户名和邮箱

保存为文件update.sh,运行bash update.sh

#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="Ali_Cheng@wistron.com"
NEW_NAME="ALI"
NEW_EMAIL="1416978277@qq.com"
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$NEW_NAME"
    export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
fi
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$NEW_NAME"
    export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

ssh秘钥生成

生成rsa公钥和秘钥

  1. cmd输入命令ssh-keygen -t rsa -C "1416978277@qq.com"
  2. 一直按回车
  3. 打开%USERPROFILE%\.ssh文件夹
    1. 公钥id_rsa.pub
    2. 秘钥id_rsa

转换为TortoiseGit可使用的秘钥

  1. 打开文件D:\Program Files\TortoiseGit\bin\puttygen.exe
  2. 点击导航栏Conversions
  3. 选择Import key
  4. 打开%USERPROFILE%\.ssh文件夹
  5. 选择id_rsa文件,点击打开按钮
  6. 点击右下方Save private key按钮
  7. 输入文件名private,点击保存按钮
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值