一、本地环境配置
1.1 下载git
# Macos
brew install git
# Ubuntu
apt install git
# Centos
yum install git
1.2 配置git
# 1. 本地git配置
git config --global user.name "chenjiacheng"
git config --global user.email "chen-jiacheng@foxmail.com"
# 2. 查看git配置
git config --list --show-origin
# 3. 生成 key
ls ~/.ssh
# 任选其一
ssh-keygen -t rsa -C "chen-jiacheng@foxmail.com"
cat ~/.ssh/id_rsa.pub
二、Githup配置
2.1 添加Key
1. 打开网址并登录:github.com
2. 打开 settings -> SSH and GPG keys -> SSH keys
3. 点击 New SSH Key,完成输入。
4. 测试: ssh -T chen-jiacheng@github.com
三、创建项目
3.1 本地无代码
1. 打开Githup.com
2. 创建仓库
3. IDEA 创建Git项目,拉取远程仓库代码
3.2 本地有代码
1. 打开Githup.com,创建仓库
2. IDEA项目:开启版本控制,提交代码到本地。
3. IDEA项目:添加远程连接
4. 执行以下命令,进行合并
#1. 拉取代码
git pull origin main
#2. 使用merge
git config pull.rebase false
#2.1 无共同祖先的项目解决冲突
git pull --allow-unrelated-histories origin main
# 暂时没用到 git merge --allow-unrelated-histories origin/main
#3. 解决冲突
git add <merge-file>
git commit -m "fixed: merge"
#4. 推送到远程
git push origin <remote-branch>
三、以 Git 工作区域介绍命令的使用
3.1 [disk] Work directory
# 1. 初始化
git init
3.2 [cache]
# 1. 添加到缓存
git add <folder|file>
# 2. 显示缓存
git stage
# 3. 删除缓存文件
git rm --cached <file>
3.3 [local repo]
# 1. 添加
git commit -m "first commit"
# 2. 查看
git log
git show <hash>
3.4 [remote repo]
# 1. 添加远程连接
git remote add origin git@github.com:chen-jiacheng/teemo.git
# 2. 拉取分支信息
git fetch origin
# 3. 拉取代码
git pull origin <remote-branch>
# 4. 推送代码
git push origin <remote-branch>
# 4.1 绑定本地分支
git push -u origin main
# 4.2 名称不同的绑定
git push -u origin local-branch:remote-branch
git branch --set-upstream-to=origin/remote-branch local-branch
# 5. 切换分支
git checkout <local-branch>
# 6. 合并分支-将远程分支的更改合并到当前分支
git merge origin <remote-branch>
git rebase origin <remote-branch>
# 7. 查看分支列表
git branch -r
git branch --remote
git branch -a
git branch --all
# 7.1 设置本地分支
git branch -M main
# 8. 冲突解决
# 8.1 设置拉取模式
git config pull.rebase false # merge
git config pull.rebase true # rebase
# 8.2 无共同祖先项目-解决冲突
git pull --allow-unrelated-histories origin mybranch
# 8.3 手动解决冲突
git add <merge-file>
git commit -m "fixed: merge"
# 8.4 推送到远程仓库
git push origin <remote-branch>
四、Git 其他类型的分支管理
4.1 标签-tag
# 1. 创建标签
git tag v1.0
git tag -a v1.0 -m "my version 1.0"
# 2. 切换标签
git checkout v1.0
git checkout -b version1 v1.0
# 3. 提交标签
git push origin v1.0
git push origin --tags
# 4. 合并标签
git checkout master
git merge v1.0
4.2 本地暂存改动-stash
#1. 存储当前工作
git stash save "message"
#2. 查看储藏列表
git stash list
#3. 应用一个储藏
git stash apply stash@{2}
#4. 删除一个储藏
git stash drop stash@{2}
#5. 应用一个储藏并立即删除它
git stash pop stash@{2}
注意:在默认情况下,git stash 只会储藏已经追踪的文件的修改,如果你也想储藏未追踪的文件(新添加的文件),你可以使用 git stash -u 或 git stash --include-untracked。如果你想储藏已经追踪的文件和忽略的文件,你可以使用 git stash -a 或 git stash --all。