git学习总结

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]

`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海424

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值