入门操作
-
git init
创建新仓库 -
git clone <仓库的URL>
从远程仓库克隆一个项目到本地 -
git pull
将远程仓库的更改拉取到本地 -
git add <文件名>
将文件添加到暂存区 -
git add .
将当前目录的所有变更文件添加到暂存区 -
git commit -m "提交信息"
将暂存区的更改提交到仓库 -
git push
将本地的更改推送到远程仓库
Git 使用
一、自己从零开始建一个仓库
二、云端本身有一个仓库,把它拿到本地上使用并修改
1. 下载代码
git clone --recursive git@gitee.com:wang-66/diff-power.git --depth 10
- 如果下载的代码库十分庞大(几十G那种)
- 可以加上
depth
参数---- 下载最近10次提交的结果
- 可以加上
2. 装Git Graph
插件
3. 两个坑
对于一些很久的分支,要用这个更新一下子模块
- 因直接Git主仓库并不会包含里面子模块的更新
- 去大公司会遇到这个坑,平常自己玩应该不会遇到
git submodule update --init --recursive
查看状态,确定一下是否有没有track的子模块
git status
4. 给 git 取个名字
- 方便追根溯源
git config --global user.email "XXXX"
git config --global user.name "XXX"
5. 创建新分支
- 为了不影响主分支的进程
git checkout -b happy/0817_test
- 在其中某一次的提交上创建分支
然后再运行
git checkout -b happy/0817_test
6. 保留更改并提交
- 可以结合
VsCode
也可以直接用命令
git add xx.py
git add -A
git commit -m "[planner]: add st boundary pre decider test" 添加评论
git push --set-upstream origin happy/0817_test // 第一次把本地新建的分支push 到云端
7. 回退提交
回退上一次提交
git reset --soft HEAD^
-
然后这里回退一次再提交一次 git可能会报错
- 使用强制提交
git push -f
8. 改变远程仓库
- 列出现在所对应的远程仓库
git remote -v
- 添加新仓库
git remote add origin git@gitee.com:wang-66/altc.git
- 提取新分支的内容
git fetch origin2 --depth 10
9. 合并分支
git merge
git merge happy/0817_test
-
创建一个新的合并提交,并保留合并前两个分支的历史
- 用于将两个分支的历史合并
-
工作方式
- 当你在目标分支(如
main
)上运行git merge feature-branch
时,Git
会将feature-branch
分支的更改合并到当前分支。 - 如果两个分支没有冲突,
Git
会自动创建一个新的合并提交,将这两个分支的历史记录结合在一起。 - 如果存在冲突,
Git
会要求你手动解决冲突,然后创建合并提交。
- 当你在目标分支(如
git rebase
- 通过重新应用提交来改变历史记录,使提交历史更加线性
- 工作方式:
- 当你在
feature-branch
上运行git rebase main
时,Git 会将main
分支上的所有提交应用到feature-branch
之上。 - 实际上,
git rebase
会将feature-branch
上的每个提交暂时保存起来,然后将它们一一应用到main
分支的最新提交之后,形成一个新的提交链。 - 如果遇到冲突,
Git
会要求你手动解决冲突,并使用git rebase --continue
继续操作。
- 当你在
10. 将某个特定的提交(通过其哈希值识别)引入当前分支
git cherry-pick <commit_hash>