git

GIT

Git使用

查看git状态和后续git建议

1
git status

将untracked状态到staged状态

1
git add

将staged状态到untracked状态

1
git restore --staged

将所提交内容融入分支(unmodify)

1
git commit -m " "

“ “中是备注信息

查看所有分支

1
git log --oneline --all 
1
git log --oneline --all --graph

查看分支

1
git branch -v

切换分支

1
git checkout 主动方

合并分支

1
git merge 被动方

将仓库的git拉下来修改后提交上去

1
2
3
4
git pull origin master

git fetch origin master
git merge origin/master

安装和配置git

1.安装

1
sudo apt install git

2. 检查配置

1
git config --list

3. 设置用户名称与邮件地址

每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改

1
2
git config --global user.name "Barbecue"
git config --global user.email Barbecue@qq.com

4. 配置默认文本编辑器

1
git config --global core.editor vim

5. 配置密钥

输入命令生成密钥

1
ssh-keygen

进入文件夹

1
cd ~/.ssh/

找到公钥匙、私匙

1
ll

id_rsa——私匙

id_rsa.pub——公钥

复制公钥到git个人账号的ssh密钥中

1
cat id_rsa.pub

git命令快速使用

cd
(文件夹地址)
git init
(新建git文件夹)
git –version
(查看git版本)
git config –global user.name “(name)”
(开发者名字)
git config –global user.email “(email)”
(开发者email)
git config –list
(查看开发者信息)
git status
(查看当前状态)
git add .
(将档案加入索引)
git commit -m “修改的内容”
(将索引提交到档案库)
git log
(观察commit的历史记录)
git clone (拷贝地址)
(下载云端库)
git push origin master
(上传到云端库)
ssh-keygen -t rsa -C “2210016303@qq.com
(生成ssh公钥)

清除git历史提交记录

解决Git提交次数过多,清除历史提交记录的方法有几种,这里提供一种常用的方法,通过创建一个新的孤儿分支(orphan branch),将当前的代码状态保存到这个新分支上,然后用这个新分支替换主分支,从而达到清除历史提交记录的目的。请按照以下步骤操作:

  1. 创建一个新的孤儿分支

    1
    git checkout --orphan latest_branch

    这一步会创建一个新的分支latest_branch,这个分支上不包含任何历史提交记录。

  2. 添加所有文件到新分支

    1
    git add -A

    这一步会将你的项目中的所有文件添加到暂存区,准备进行提交。

  3. 提交更改到新分支

    1
    git commit -am "commit message"

    用一条提交信息替代之前的所有提交记录。

  4. 删除主分支(默认分支通常是mainmaster,根据你的情况选择):

    1
    git branch -D master

    这一步会永久删除主分支。

  5. 将当前分支重命名为主分支

    1
    git branch -m master

    这一步将latest_branch重命名为master

  6. 强制更新远程仓库

    1
    git push -f origin master

    这一步会将本地的变更强制推送到远程仓库,替换远程仓库的历史记录。

请注意,这种方法会彻底删除所有的历史提交记录,只保留当前的代码状态。在执行这些操作之前,建议备份你的仓库,以防万一需要恢复历史记录。

不保存分支的历史提交记录

一个分支想合并另外一个分支,但是不保存那个分支的历史提交记录,可以使用 git merge 命令的 --squash 选项。这个选项会将另一个分支的所有提交压缩成一个提交,并将其应用到当前分支,而不会保留原来分支的提交历史。

  1. 首先确保你在你想要合并的目标分支上,比如说,假设你想将 branch_to_merge 合并到当前分支:

    1
    git checkout master
  2. 然后使用 git merge 命令并添加 --squash 选项合并另一个分支,比如 branch_to_merge

    1
    git merge --squash develop
  3. 接着你需要提交这个新的合并提交:

    1
    git commit -m "docs(all): Merge develop without preserving history"