git命令全面整理

78 阅读3分钟
  • SourcesTree、GitHubDeskTop 用的太久了,基础的命令都忘了咋写了

git安装

git配置

git config --global user.name "Name"
git config--global user.email "email"

配置ssh密钥

  • 检查是否有生成过密钥
//输入
ls -al ~/.ssh

//输出:表示未创建过
No such file or directory
//输出:表示已创建过,可跳过以下生成步骤
total 24
drwx------   5 kewang  staff   160  8  9  2021 .
drwxr-xr-x@ 78 kewang  staff  2496  4 11 19:54 ..
-rw-------@  1 kewang  staff  2655  4  5 10:40 id_rsa
-rw-r--r--@  1 kewang  staff   570  4  5 10:40 id_rsa.pub
-rw-r--r--   1 kewang  staff   185 11  9  2018 known_hosts
  • 生成密钥
//输入
ssh-keygen -t rsa -b 4096 -C "邮箱地址如:555@qq.com"
//接下来会输出
Enter file in which to save the key (/Users/kewang/.ssh/id_rsa): //直接回车存入默认路径
Enter passphrase (empty for no passphrase): [Type a passphrase] //输入密码 可直接回车
Enter same passphrase again: [Type passphrase again] //再次输入密码 可直接回车
//成功输出
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.   
Your public key has been saved in id_rsa.pub.   
The key fingerprint is:
SHA256:0irBXp+xKwT5e0ZFklbEVkzxu0Bzv9PmvstFD5w6zlQ username@Your-Mac.local   
The key's randomart image is: 
+---[RSA 4096]----+
|         =o++.   |
|        + + ..   |
|     . . +  o o  |
|   .o  .  .. + + |
|    ooo S.  . E o|
|   . oo+.+   + ++|
|    o..o+   + .o=|
|     .o o. + ..oo|
|       +.   o  ==|
+----[SHA256]-----+
  • 拷贝密钥
//输入打开文件夹
open ~/.ssh
//用文本编辑打开id_rsa.pub,复制所有内容到远程仓库的ssh设置

[clone] 链接远程仓库

  • 在GitHub、gitee或gitlab 上创建仓库,拿到仓库地址 如:gitee.com/AAA.git
  • 新建文件夹,进入此文件夹克隆仓库
git clone gitee.com/AAA.git
//会有进度提示的
//完成后把项目文件拖进此文件夹即可
  • 上传提交修改
git add .
//把文件提交到仓库
git commit -m "修改描述"
//上传到github
git push
//有进度提示

[branch] 分支相关

git branch //查看本地所有分支
branch -a //查看远程仓库所有分支
//输出为下图,箭头指的是当前所在分支

WeChatfbcac0eff4fbd5c0e8a05dacd306306b.png

//新建本地分支 分支名为 NewBranch
git branch NewBranch 
//新建本地分支 与远程仓库的 NewBranch 分支保持一致
git checkout -b NewBranch origin/NewBranch 
//删除本地分支 NewBranch
git branch -d NewBranch 
NewBranch //删除远程分支
git push origin –delete 
//切换到 NewBranch 分支
git checkout NewBranch 

git status //查看当前改动
//提交改动到 NewBranch 分支
git add .
git commit -m ‘提交说明’
git push origin NewBranch 

// NewBranch 合并分支 到 master
git checkout master //切换回到master
git merge NewBranch //合并操作
git push origin master //提交合并后的代码

回退版本

//查看当前分支历史提交记录
git log
//回退 commit 替换成你要回退的版本commit值
git reset --hard commit


//回退到上个版本 HEAD^表示上个版本,HEAD^^表示上上个版本
git reset --hard HEAD^

强制拉取远程仓库代码,放弃本地改动

git fetch --all && git reset --hard origin/master && git pull

切换远程仓库

//查看当前仓库链接
git remote -v
//移除当前仓库链接
git remote rm origin
//添加新仓库链接
git remote add origin XXXXXXXX.git

迁移项目【保留分支和提交记录】

cd AAA
  • 下载镜像文件
git clone --mirror https://gitee.com/oldAAA.git
// 或者git clone --mirror git@gitee.com:oldAAA.git
  • 进入镜像文件
cd project_name.git
  • 上传到新仓库
git push --mirror https://gitee.com/newAAA.git
//git push --mirror git@gitee.com:newAAA..git
  • 迁移完毕

git历史记录清理