一、git的基础用法
1、提交流程
csharp
//查看当前哪些文件发生更改
git status
//将本地代码 添加到 暂存区 [全文件名:添加这一个文件 .:所有的发生更改文件都添加到暂存区]
git add 全文件名|.
//将暂存区的代码 提交到暂存区--生成版本号
git commit -m "提交版本备注信息"
//将有版本的暂存区代码 推送到远程仓库的固定分支
git push origin master
2、拉取流程
- 第一次克隆别人的项目
bash
git clone 别人项目的地址(https://gitee.com/.....)
-
拉取最新版本
git pull origin master
3、小组项目
如果小组项目 在提交前 需要先拉取项目
- 提交流程(个人经验---不一定正确)
csharp
//先拉取一次项目
git pull origin master
git add .
git commit -m "xxx"
//再拉取一次项目
git pull origin master
//最后在push
git push origin master
4、git commit -m 规范(常用)
sql
git commit -m "feat:新功能"
git commit -m "fix:修补bug"
5、其他语句
- 切换分支:
git checkout 分支名
- 创建分支:
git branch 分支名
- 删除分支:
git branch -d 分支名
- 合并:
git merge 分支名

6、合并分支到主分支
git merge 要合并的分支
然后git push
二、git的其他用法
1、在vscode 使用git
在我们创建完项目后,将代码传上 git 后,我们再进项目修改会发现在一些代码文件的右边后有一些不同颜色的大写字母
就像这样
- 关于字母的解释【网上找的】
- A:A是Added的缩写。表示这个文件是新增的,它在本地仓库中不存在,但是已经被添加到暂存区,等待提交。
- U:U是Untracked的缩写。表示这个文件是未跟踪的,它在本地仓库中不存在,也没有被添加到暂存区,需要你手动添加或忽略。
- M:M是Modified的缩写。表示这个文件是被修改的,它在本地仓库中存在,但是已经被修改
- D:D是Deleted的缩写。表示这个文件是被删除的,它在本地仓库中存在,但是已经被删除
1、基础用法

点击提交后会弹出对话框 【是】
【同步上去】

【确定】

此外,也可以直接点提交按钮进行提交
-
合并分支【在合并之前可以先 git fetch一下】
-
git fetch
可以定期检查远程仓库是否有新的提交,以保持你的本地仓库与远程仓库保持同步如果遇到代码冲突,要先解决冲突

2、git commit --amend 【使用强制推送的时候,一定要保证分支是私有的】
当我们代码已经提交之后,后面又去改了代码,不想重新commit (创建新的节点)就可以使用
sqlgit commit --amend
-
步骤
- git add #暂存修改
- git commit --amend #修改最后一次的commit
- git push --force #强制推送 (覆盖远程)
-
如果遇到git 操作之后有一堆信息显示,但是不是报错,是正常信息,可以使用
:wq
退出
3、git rebase 变基分支
合并自己的分支用rebase,基于自己的分支进行rebase,不能是共有分支,必须是私有分支
变基就相当于把自己的分支进行一个更新
-
步骤(假设自己分支名为feature,主分支为master)
- 1、当要改自己的分支,但是自己的分支落后于主分支,将自己分支的代码先上传到远程分支仓库feature
- 2、切到主分支msater,获取最新的代码 git fetch -p 之后合并
- 3、本地master分支更新之后,切回到feature分支,进行变基分支 git rebase msater,将master分支更新的变基到feature分支上面
- 现在feature本地分支是最新的,但是可能会和远程feature分支有冲突,所以不要合并 ,直接git push origin --force
-
如果出现冲突,就查看冲突的地方,进行更改
4、git cherry-pick
假设我们现在有两个分支,一个master分支、一个feature分支
我们在feature分支上面提交了a和b,但是我们只想将b的修改合并到master上面,这个时候就可以用到 git cherry-pick
-
步骤
-
切换到需要pick的分支,比如上面所举例的master分支
-
git cherry-pick 【commit的提交的hash】如下图
git cherry-pick ac53f7c0fdfd2efa236e5dccb01ee39c8af1c443
-

5、git stash 暂存文件
假设现在有两个分支,一个dev1,一个dev2 我们在dev2里面改了代码,发现应该在dev1里面改这个代码的时候 或者,你要去dev1,但是不想讲dev2的代码提交到远程分支 这时候就可以用到
git stash
-
步骤
- git stash (在dev2 分支执行)
- git checkout dev1(切换到 dev1 分支)
- git stash pop (在dev1 分支执行)