git使用指南

git使用指南

  1. 工具网站🧰
  2. 3 weeks ago

git介绍

Git是一个分布式版本控制系统,最初由Linus Torvalds为管理Linux内核开发而设计。它可以追踪文件的变化,允许多人协同工作,管理项目的不同版本,并轻松地回退到先前的版本。

git常用指令

# 下载项目
git clone xxx 

# 推送代码至远程
git push origin local_branch:origin_branch 

# 下载代码到本地
git pull origin origin_branch 

# 添加所有改动
git add . 

# 添加注释,方便以后查阅
git commit -m "xxx" 

# 用于修改最新的提交
git commit --amend 

# 退回某个分支(不保存现在的改动)
git reset --hard commit_id

# 退回某个分支(保存现在的改动)
git reset --soft commit_id

切换分支

切换到其他分支做一些简单的改动,本地主分支有很多改动,但是还不想添加commit,怎么样能够保存在本地。

# 保存所有改动
git add .
# 保存到暂存区
git stash
# 切换到其他分支
git checkout test1
# 修改完毕后切换会原分支
git checkout test
# 将存储的修改重新应用到工作目录中
git stash pop
# 将所有文件退回原来状态(没有add之前)
git reset

develop和release分支解决

平时都是基于develop去开发的,当develop新增部分需要同步到release时,所做操作:

  1. 新建一个release本地分支(release本地分支名字需要和远程分支名字保持一致)
git checkout -b release
  1. 找到release分支和develop分支的公共祖先-commit号
git merge-base release develop
  1. 回退到公共祖先
git reset --hard <commit-id>

不保留本地release分支的更改

git reset --hard origin/release

如果告知没有这个分支,进行远程分支的更新。

git fetch origin

查看修改

查看哪些文件被修改,而不是具体的修改内容,你可以添加 --name-only 选项:

git diff --name-only <branch_name>

如果你想查看当前工作目录和最近一次提交之间的差异,你可以使用以下命令:

git diff

这个命令会显示当前工作目录和最近一次提交之间的差异。

统计新增文件(暂存区尚未提交)

git diff --cached --name-status | grep '^A' | wc -l

每一行的开头是一个字母,表示对应的文件的状态(A 表示新增,M 表示修改,D 表示删除)

差异同步

想将develop上最新commit的数据新增及更改同步到release分支上,需要做什么操作。(当前处于develop分支)

  1. 切换到release分支
git checkout release
  1. 将commit节点应用到当前分支
git cherry-pick commit1
  1. 如果出现冲突,需要手动解决冲突,使用git add将解决冲突的文件添加到暂存区,最后使用git cherry-pick --continue命令继续应用提交。
  2. 撤销提交,使用git cherry-pick --abort命令撤销。

github配置

配置SSH公钥,可以免去每次输入密码的繁琐操作。

1.什么是SSH公钥?

SSH(Secure shell)是一种登录远程计算机并执行命令的加密协议。 SSH公钥是一对密锁中的公钥,用于加密数据,而对应的私钥则用于解密数据。

2.为什么使用SSH公钥?

  • 安全性高:密钥长度更长,不易被破解。
  • 提高效率:每次操作无需重复输入密码。
  • 集中管理:可以在多个设备上使用相同公钥进行身份验证,方便管理。

3.如何生成连接到github?

  1. 打开Git Bash,输入一下命令生成SSH密钥对
ssh-keygen
  1. 一直按回车键确认默认保存路径。(可以在shell中查看到具体的文件路径)

​ Your public key has been saved in xxx/.ssh/id_rsa.pub

  1. 到指定目录复制id_rsa.pub的文件(直接复制不换行)
  2. 到github-settings-SSH and GPG keys
  3. 点击 New SSH key,title里面协商标题,key上粘贴,点击“Add SSH key”按钮添加完成。
工具相关