git常用命令总结

一 远程分支问题

1.1 将本地仓库与新的远程库建立连接

ba 复制代码
fatal: remote origin already exists

(1)查看远程分支状态信息

bash 复制代码
git remote -v 

git 查看远端主机详细配置信息

bash 复制代码
git remote show origin

(2) 删除远程连接

bash 复制代码
git remote rm origin

(3) 建立新的远程连接

bash 复制代码
git remote add origin git@github.com:(github名)/(git项目名).git 

1.2 初始化推送本地到远程

bash 复制代码
git push -u origin "master"  #git push <remote> <branch>

查看本地分支与远程分支状态

bash 复制代码
 git branch -a

1.3 远程拉取与推送

1.克隆拉取远程分支

git clone -b 分支名仓库地址

2.拉取分支

当我想从远程仓库里拉取一条本地不存在的分支时:

git checkout -b 本地分支名 origin/远程分支名

例如: 切换远程分支

git checkout -b release origin/release-9.4

若成功,将会在本地创建新分支dev2,并自动切到dev2上。

如果出现提示:

fatal: Cannot update paths and switch to branch 'dev2' at the same time. Did you intend to checkout 'origin/dev2' which can not be resolved as commit? 表示拉取不成功。我们需要先执行

git fetch

其中,git fetch

然后再执行

git checkout -b 本地分支名 origin/远程分支名

2.上传本地到远程分支

设置git push和git pull的默认分支:

git push --set-upstream origin 分支名

更为简洁的方式是在push时,使用-u参数

git push -u origin <远程分支>

-u参数会在push的同时会指定当前分支的默认上游分支;

二 本地分支

2.1 查看分支

bash 复制代码
git branch #查看分支
git branch -a  #查看当前远端分支情况
git  checkout origin/xxx  #选择远端xxx分支

2.2 分支冲突

解决方式:

  1. 查看冲突文件 git status
  2. Git用<<<<<<<,=======,>>>>>>>标记出冲突内容

2.3 常见情况

经常会遇到本地分支和远程分支关联的情况,最常见以下2种情况:

1.远程新建了一个分支,本地没有该分支

​ 这种情况下使用git checkout --track origin/branch_name 后,本地会新建一个分支名叫 branch_name ,并自动跟踪远程的同名分支 branch_name。

2.本地新建了一个分支,远程没有该分支

​ 这种情况下使用git push --set-upstream origin branch_name ,可以在远程创建一个 branch_name 分支,本地分支会自动跟踪该分支。后面再对该分支使用 push 和 pull 就会自动同步,无需再指定分支。

三 放弃修改

  1. 本地修改了一些文件 (并没有使用 git add 到暂存区),想放弃修改
  • 单个文件/文件夹:

    复制代码
     git checkout -- filename
  • 所有文件/文件夹:

    复制代码
    git checkout .
  1. 本地新增了一些文件 (并没有 git add 到暂存区),想放弃修改

单个文件/文件夹:

复制代码
rm  -rf filename

所有文件:

复制代码
git clean -xdf

谨慎操作 本命令删除新增的文件和文件夹,如果文件已经已经 git add 到暂存区,并不会删除!

四 gitignore文件管理

4.1 gitignore文件更新

Git更新ignore文件直接修改gitignore是不会生效的,需要先去掉已经托管的文件,修改完成之后再重新添加并提交。

第一步:

bash 复制代码
git rm -r --cached .   #去掉已经托管的文件

第二步:修改自己的igonre文件内容

第三步:

bash 复制代码
git add .
git commit -m "clear cached"
相关推荐
其实防守也摸鱼13 小时前
个人学习 Pwn 思路:从基础到漏洞利用的进阶路径
大数据·前端·人工智能·chrome·算法·安全·网络安全
美林数据Tempodata14 小时前
高职大数据技术专业升级的六个落地样本:从产业链需求库到实训室数据链路
大数据·人工智能·数字化转型·产教融合·ai教育
跨境卫士苏苏15 小时前
TikTokShop关联账户认定指引更新跨境代运营团队需要注意哪些管理责任
大数据·人工智能·市场营销·跨境电商·营销策略
迅易科技15 小时前
数据质量治理:从异常告警走向自动化根因诊断
大数据
组工部管理能手李哥16 小时前
一次政务知识库体验:AI回答之外,我更在意那行引用来源
大数据·人工智能·大模型·政务
GrowingIO技术社区16 小时前
SaaS与私有化部署怎么比较?责任、集成与成本
大数据·数据挖掘·产品
GrowingIO技术社区16 小时前
CDP项目如何评估?从业务问题到能力测试
大数据·数据分析
m0_7156744316 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务
GrowingIO技术社区18 小时前
多端用户身份怎么统一?OneID规则与验收清单
大数据·数据挖掘·数据分析
躺柒18 小时前
读数据安全架构设计与实践20安全政策文件体系(上)
大数据·人工智能·安全·数据安全·安全架构·安全体系