一、克隆代码

# ***********克隆代码************
# 1、通过ssh克隆,需要在git仓库的设置中配置ssh公钥,生成公钥的方法见:https://www.pandadt.tech/arc/sheng-cheng-ssh-gong-yao
git clone git@gitee.com:xxx/spider.git

#2、通过https克隆
git clone https://gitee.com/xxx/spider.git

配置用户名和邮箱

为确保提交的代码身份被代码库正确识别,需执行以下命令完成配置

git config --global user.name 'gituser' 
git config --global user.email 'xxx@qq.com'

二、分支

查看所有本地和远程分支

# 展示本地和远程所有分支
git branch -a

# 展示本地分支
git branch

切换分支

git checkout <分支名称>
如:git checkout spider_2025 #切换到spider_2025这个分支

从指定分支创建新分支

@@ ######################  在本地创建分支  #######################
#方法1:
git checkout -b <新分支名> <源分支名>

如:git checkout -b new_branch_dev master
基于 master 分支的最新提交创建一个名为 new_branch_dev 的新分支;
并自动切换到该新分支。

#方法2
git branch <新分支名> <源分支名>
如:git branch spider_2025 master : 从master分支创建一个新分支spider_2025

@@ ######################  推送本地分支  #######################
#1) 切换到待推送分支
git checkout spider_2025
#2)推送
# -u(或 --set-upstream)会将本地分支与远程分支关联,只需关联依次,后续分支更新推送不需要-u
git push -u origin spider_2025

三、拉取和提交

从远程仓库拉取最新

# 从远程拉取当前分支的更新
git pull 

# git pull等价于下面的命令
git fetch && git merge origin/<当前分支名>

# 指定从远程 origin 的 master 分支拉取更新
git pull origin master

一次完整的提交过程如下:git add + git commit + git push。

git add将更新添加到暂存区

将工作区(working directory)的更改添加到暂存区(staging area / index),在暂存区的更改才能提交

git add [选项] <文件/目录/路径>
如:git add file1.js file2.css  ;  git add src/

命令

新增文件

修改文件

删除文件

git add .

git add -u

git add -A

git status查看工作区和暂存区当前状态

git commit提交暂存区更新

git commit -m "修复登录页面样式问题"

git push推送

# 完成命令
git push <远程仓库名> <本地分支>:<远程分支>
如:
git push origin fund_web:fund_web
origin表示远程仓库

# 如果是推送到 origin 远程的当前分支(如 master),可简化为
git push

提交过程中遇到的一些常见情况:

* 查看提交历史

git log --oneline -5

* 删除最近一次 commit,保留更改(回到工作区)

git reset --soft HEAD~1

~1:最近一次

~2:最近两次

* 本地有未提交的更新且需要拉取远程更新

场景 1:本地修改未提交(未 git add)

1. 直接拉取(自动合并,推荐简单场景)

如果远程更新与本地修改无冲突,可直接执行:

git pull

Git 会自动尝试将远程提交合并到本地,保留你的本地修改。

2. 若冲突或需暂存本地修改(更安全)

如果担心冲突或需要先保存本地修改,可先暂存本地更改:

# 暂存所有本地修改(包括未跟踪文件,可选-u参数)
git stash push -m "临时保存本地修改"  
# 拉取远程更新
git pull  
# 恢复本地暂存的修改
git stash pop  
  • git stash push:将本地未提交的修改保存到暂存区(栈)。

  • git stash pop:恢复最近一次暂存的修改,并删除暂存记录(若需保留暂存,用git stash apply)。

场景 2:本地修改已提交(git commit)

1. 直接拉取(合并远程提交)

git pull

Git 会创建一个合并提交,将远程更新与你的本地提交合并。

2. 变基拉取(保持提交历史整洁)

若希望线性提交历史,可使用变基(rebase):

git pull --rebase
  • 原理:将你的本地提交 “重演” 在远程最新提交之上,避免多余的合并提交。

  • 若冲突:Git 会暂停变基,提示你解决冲突后执行:

git add <冲突文件>
git rebase --continue  # 继续变基
# 若放弃变基:git rebase --abort

*冲突处理

如果本地修改与远程更新冲突,Git 会标记冲突文件(<<<<<<</=======/>>>>>>>),需手动解决:

  1. 打开冲突文件,编辑保留需要的内容(删除冲突标记)。

  2. 标记为已解决:git add <冲突文件>

  3. 完成合并 / 变基:

    • 若为普通 pull:git commit(Git 已自动生成合并提交信息)。

    • 若为 rebase:git rebase --continue

四、合并分支

将dev分支合并到master分支

1、切换到master分支

git checkout master  # 切换到目标分支
git pull  # 拉取最新代码,避免冲突

2、合并指定分支dev

git merge dev  # 合并dev分支到当前分支

#只想合并某分支的特定提交:
git cherry-pick <commit-id>
# 取消合并,回到合并前状态(未提交前)
git merge --abort