0.ssh密钥
0.1 ssh密钥生成
#生成公钥私钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 其中,-t rsa 参数表示使用 RSA 算法生成密钥对,-b 4096 参数表示密钥长度为 4096,-C "your_email@example.com" 参数表示注释信息,填写自己的邮箱,用于标识该密钥对所属的用户。
# 成功之后,在默认用户目录 .ssh文件夹中 找到 id_rsa私钥文件 和 id_rsa.pub公钥文件
0.2 (可选项)分别在id_rsa同级目录下,新建 config 文件,无后缀
# Gitee
Host gitee.com
HostName gitee.com
User <Gitee的用户名>
IdentityFile ~/.ssh/id_rsa
# GitHub
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 22
一.目标托管网站自行配置
1 检查是否成功配置ssh
# 配置成功的,会有 Hi,用户名 的提示
ssh -T git@github.com
ssh -T git@gitee.com
#2. 环境配置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息
#设置用户信息
git config --global user.name “itcast”
git config --global user.email “itcast@itcast.cn”
#查看配置信息
git config --list
git config user.name
#通过上面的命令设置的信息会保存在~/.gitconfig文件中
##3. 初始化本地仓库 init
# 初始化仓库带工作区
git init
# 初始化仓库不带工作区
git init --bare
##4 克隆 clone
# 从远程仓库克隆
git clone 远程Git仓库地址
例如: git clone https://gitee.com/itcast/gittest.git
##5 查看状态 status
# 查看状态
git status
#查看状态 使输出信息更加简洁
git status –s
##5 add
# 将未跟踪的文件加入暂存区
git add <文件名>
# 将暂存区的文件取消暂存 (取消 add )
git reset <文件名>
##7 commit
# git commit 将暂存区的文件修改提交到本地仓库
git commit -m "日志信息" <文件名>
##8删除 rm
# 从本地工作区 删除文件
git rm <文件名>
# 如果本工作区库误删, 想要回退 (注意: 只适用于没有提交到远程仓库的修改)
git checkout head <文件名>
9.查看历史
下面是 Git 中查看历史提交和回退指定版本的 n 种方法:
git log 命令:查看 Git 仓库的提交历史记录,包括作者、时间、以及每次提交的 SHA-1 校验和等信息。可以使用 git log 命令查看整个仓库的历史记录或者在后面加上参数来限制输出。例如,git log -n 10 可以查看最近的 10 次提交记录。
git log --oneline: 该命令会列出最近的提交记录,并显示每个提交的 1.(提交注释)和 2.(提交 ID)。
git show 命令:查看 Git 管理的文件中某一次提交的详细信息,包括该提交所修改的内容。可以使用 git show <commit> 命令查看指定 commit 的详细信息。
git diff 命令:比较两个文件之间的差异,也可以用于比较不同提交之间的变化。可以使用 git diff <commit>..<commit> 命令来比较两个提交之间的差异,也可以加上文件名或目录名称来查看特定文件或目录的差异。
git checkout 命令:将当前分支切换到指定的 commit 或 branch 上。可以使用 git checkout <commit> 命令回退到指定的 commit。
git reset 命令:撤销某次提交并将代码回退到该提交之前的状态。可以使用 git reset HEAD~1 命令将代码从最新的提交回退到前一次提交。
git revert 命令:撤销某一次提交,并创建一个新的提交来记录这个操作。与 git reset 不同,git revert 会保留历史记录,因此适用于协作开发或者已经共享部分代码的项目。可以使用 git revert <commit> 命令来撤销指定的提交。
git cherry-pick 命令:选择并应用某一次提交中的变化到当前分支上。可以使用 git cherry-pick <commit> 命令将指定 commit 中的修改应用到当前分支上。
使用场景:
1.从其他分支中复制某个提交的更改到当前分支中。
2.恢复意外删除的提交记录,比如使用 git reset 或 git revert 命令误删提交时,可以通过 git cherry-pick 命令来重新恢复该提交。
3.将一个独立于分支历史的提交合并到当前分支
git reflog 命令:显示 Git 引用的日志信息,包括分支、标签和 HEAD 的变化记录等信息。可以使用 git reflog 命令查看所有引用的变化记录,也可以使用 git reflog <branch> 查看特定分支的变化记录。
二. 命令行–git 远程仓库操作
1 查看远程
# 查看远程 列出指定的每一个远程服务器的简写
git remote
# 查看远程 , 列出 简称和地址
git remote -v
# 查看远程仓库详细地址
git remote show <仓库简称>
2 添加/移除远测仓库
# 添加远程仓库 shortname:仓库名(一般origin,可自定义)
git remote add <shortname> <url>
# 添加远程仓库
git remote set-url <shortname> <url>
# 移除远程仓库和本地仓库的关系(只是从本地移除远程仓库的关联关系,并不会真正影响到远程仓库)
git remote rm <shortname>
.3 从远程仓库获取代码
# 从远程仓库克隆
git clone <url>
# 从远程仓库拉取 (拉取到.git 目录,不会合并到工作区,工作区发生变化)
git fetch <shortname> <分支名称>
# 手动合并 把某个版本的某个分支合并到当前工作区
git merge <shortname>/<分支名称>
# 从远程仓库拉取 (拉取到.git 目录,合并到工作区,工作区不发生变化) = fetch+merge
git pull <shortname> <分支名称>
git pull <shortname> <分支名称> --allow-unrelated-histories # 强制拉取合并
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories ),解决此问题可以在git pull命令后加入参数–allow-unrelated-histories (如上 命令)
# 将本地仓库推送至远程仓库的某个分支
git push [remote-name] [branch-name]
2. 命令行-- 分支
# 默认 分支名称为 master
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地分支和远程分支
git branch -a
# 创建分支
git branch <分支名>
# 修改分支名称
git branch -m <分支名> <新的分支名>
# 切换分支
git checkout <分支名>
# 创建并切换分支
git checkout -b user
# 删除分支(如果分支已经修改过,则不允许删除)
git branch -d <分支名>
# 强制删除分支
git branch -D <分支名>
# 提交分支至远程仓库
git push <仓库简称> <分支名称>
# 合并分支 将其他分支合并至当前工作区
git merge <分支名称>
# 删除远程仓库分支
git push origin –d branchName
3 . 命令行 --tag
# 列出所有tag
git tag
# 查看tag详细信息
git show [tagName]
# 新建一个tag
git tag [tagName]
# 提交指定tag
$ git push [仓库简称] [tagName]
# 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
# 删除本地tag
$ git tag -d [tag]
# 删除远程tag (注意 空格)
$ git push origin :refs/tags/[tag]
`