git常用操作及命令

git 流程图

在这里插入图片描述

git 操作

git新建分支

1、切换到基础分支,如主干

git checkout master

2、创建并切换到新分支

git checkout -b martin

git branch可以看到已经在panda分支上

3、更新分支代码并提交

git add *

git commit -m "init martin"
# 推分支代码
git push origin martin

git提交代码

1、查看分支

git branch

2、切换到代码所在的分支

git checkout martin

3、查看修改的文件

git status

4、拉取分支上的代码

# 在提交代码之前需要先拉取代码,目的是为了保证你在提交文件后不回与别人提交的代码产生冲突,冲掉别人提交的代码。
git pull

5、将当前的工作状态保存到git栈,在需要的时候再恢复

git stash

如果在拉取代码的时候报错,可能是因为本地的代码与拉取的代码有冲突,这时需要将本地代码暂存到栈里,之后再重新git pull。令:git stash后你的工作区状态为clear

6、将堆栈中最新的内容pop出来应用到当前分支上,且会删除堆中的记录

# 将暂存在栈上的文件重新移到工作区中
git stash pop

7、提交代码到本地git缓存区

git add . 或者 git add xxx
# 命令:git add 文件名1 文件名2 …

(1)如果你git status 查看了当前状态发现都是你修改过的文件,都要提交,那么你可以直接使用 git add . 就可以把你的内容全部添加到本地git缓存区中

(2)如果你git status 查看了当前状态发现有部分文件你不想提交,那么就使用git add xxx就可以提交部分文件到本地git缓存区

8、推送代码到本地git库:git commit

git commit 文件名 -m “提交代码备注”

9、提交本地代码到远程仓库

git push

10、git不提交指定文件
先查看修改的文件有哪些

git status

例如有:vue.config.js 、src/model/table.vue…
需求:每次提交代码都不提交vue.config.js
命令:git update-index --assume-unchanged vue.config.js
例子:git update-index --assume-unchanged .idea/workspace.xml

提交之前我们再使用命令:git status查看一下有没有此文件了,没有就说明成功了,这个习惯一定要保持好。

如果后期想提交该文件的话,那就运行命令:
git update-index --no-assume-unchanged vue.config.js

当我们忘记了忽略过哪些文件的话,可以运行下面的命令查找出来:

git ls-files -v | grep '^h ’
然后取消标志即可,如果需要全部取消标志的不提交文件的话,可以运行下面的命令:

git ls-files -v | grep ‘^h’ | awk ‘{print $2}’ |xargs git update-index --no-assume-u

git子分支代码提交并合并到master主分支

1、将子分支修改部分代码提交

# 将所有代码提交
git add .
# 编写提交备注
git commit -m "修改bug"
# 提交代码至远程分支
git push origin dev

2、切换master分支

# 切换分支
git checkout master 
# 如果多人开发建议执行如下命令,拉取最新的代码
git pull origin master

3、merge分支代码

git merge dev
# merge完成后可执行如下命令,查看是否有冲突
git status

解决每次提交代码出现.idea workspace.xml 问题

问题原因:
原因在于 Git 的忽略,Git 在同步代码时,设置本地忽略文件的前提是,必须保证 Git 的远程端仓库中没有这个要忽略的文件。当远端包含有该文件时,本地设置的 ignore 将不再发挥作用。
解决办法
1、在本地的.gitignore文件里面添加上 .idea/workspace.xml 文件。
2、如果已经将本地的文件提交到了远端,那么需要将远端提交的文件给删掉,删除指令为:
git rm -r --cached .idea
3、push代码

然后使用git status指令来查看删掉的文件
在这里插入图片描述

切分支时提示Please move or remove them before you switch branches.

在这里插入图片描述

大概意思就是以下文件未跟踪的工作树文件将被签出覆盖,在切换分支的时候你需要干掉它们
解决办法

git clean -dfx

# git clean是把你当前工作的分支所有东西保持和远程的分支一致,就是说你远程是怎么样的,执行这个命令后你本地的就是怎么样的,没有进入版本的文件会直接扔掉

本地项目推送至新仓库

# 链接远程仓库
git remote add origin git地址
# 查看链接是否成功
git remote -v
# 提交代码
git add .
git commit -m "vue"
# 推送代码并创建远程分支
git push --set-upstream origin main

本地代码丢失找回

在这里插入图片描述
选择要找回的文件,点击“Show History”,找到对应版本的代码变更,恢复即可

猜你喜欢

转载自blog.csdn.net/weixin_43587784/article/details/129178152