Git和GitHub项目管理 - 代码版本控制
陈加成
陈加成
发布于 2023-07-05 / 129 阅读 / 0 评论 / 0 点赞

Git和GitHub项目管理 - 代码版本控制

一、本地环境配置

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。


评论