- SourcesTree、GitHubDeskTop 用的太久了,基础的命令都忘了咋写了
git安装
- git-scm.com/download/ma…
- git --version 查看是否安装成功
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 //查看远程仓库所有分支
//输出为下图,箭头指的是当前所在分支
//新建本地分支 分支名为 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
迁移项目【保留分支和提交记录】
-
旧仓库的地址【gitee.com/oldAAA.git】
-
新建空仓库 新地址【gitee.com/newAAA.git】
-
新建空文件夹 AAA ,进入此文件夹
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
- 迁移完毕