git常用命令+场景一文掌握

介绍

git是一个分布式版本控制系统,用于跟踪文件的变化,在日常开发已经团队代码写作中扮演重要角色;今天给大家分享一些工作中常用到的git命令以及场景,欢迎查看

功能

1、可以记录文件的修改历史、允许回退到任意版本

2、支持创建分支,便于并行开发和功能测试

3、可多人同时工作,Git能够合并不同开发者的修改

4、每个开发者都有完整的代码仓库,不依赖中央服务器

基本概念

  • 仓库(Repository):存储项目文件及其历史记录。

  • 提交(Commit):记录文件的更改,包含唯一标识、作者信息和时间戳。

  • 分支(Branch):从主线分离的独立开发线,常用于新功能开发。

  • 合并(Merge):将一个分支的更改整合到另一个分支。

  • 克隆(Clone):复制远程仓库到本地。

  • 拉取(Pull):从远程仓库获取更新并合并到本地。

  • 推送(Push):将本地更改上传到远程仓库。

场景和命令

初始化git仓库:

git init:git init 会创建一个.git隐藏目录,在这个目录下会创建objects、refs/heads、refs/tags、refs/remotes,同时,指向master分支的HEAD文件也会被创建

从服务器代码仓库克隆到本地工作目录:

  • Git clone git@git@192.168.0.63:jinjiu/jinjiu-knowledge.git 

  • 列出工作目录和代码仓库的改动情况: git status

  • 更新本地目录: git pull origin develop,这样就将服务器上的项目下载到本地工作目录中了

克隆项目(0->1):

  1. 进入克隆目录(空目录)

  2. 在git上将项目的ssh命令复制出来:例如:git@192.168.0.63:GEI-Share/spark.git

  3. 在空目录右键选择git bush here

  4. 输入 git clone git@192.168.0.63:GEI-Share/spark.git(右键->paste)

  5. 下载好之后,cd项目目录,进入想项目所在目录,执行命令 git status 查看状态

下载项目(1->n):

i    进入到工作目录,我的工作目录是E盘.命令是E:

ii   Git status 查看

iii 如果不是develop要切换分支,命令是git checkout develop

iv     Git pull origin develop

这样就将服务器上的项目下载到本地工作目录中了

提交代码到服务器上

将XXX.psd(需要提交的文件)粘贴到E盘(工作目录)下

执行git diff 查看不同的地方

按enter键继续往下看,按wq退出

执行git add . 添加到暂存区中,再执行git status检查,变绿了.说明添加到了暂存区

执行git commit –a “注释” 提交到本地服务器上,-a是注释

执行git status 查看状态

最后一步,进行服务器上的提交

执行git push origin develop

这样,就完成了自己做的东西的提交.

切换分支:

  • git checkout develop

添加本地文件到暂存区:

  • git add index.html  如果要添加多个,使用 git add .

提交更改:

  • git commit –m “注释,给人看的”
  • 提交所有在git索引中的改动:git commit –a –m(用-a跳过进入暂存区的方式)

分支类:

  • 创建分支:git branch develop
  • 切换分支:git checkout develop
  • 创建并切换分支:git checkout –b develop

其他:

  • 取消对test.c文件的修改:git checkout -- test.c
  • 查看版本号:git reflog  
  • 回退到上一个版本: git reset –hard 版本号

注意: git reset –hard会删除工作目录中的所有未提交更改,请确保你已经备份了重要的更改

如果你已经将更改推送到远程仓库,使用git reset后需要强制推送(git push --force),这可能会影响其他协作者的工作,请谨慎使用

  • 检查仓库的错误:git -fsck
  • 同步更新git仓库:git fetch
  • fd代码维护

git维护代码分为3部分:“当前目录”、“索引文件”、“git仓库”

git add :完成当前目录到索引文件

git commit : 完成索引文件到git仓库

git commit -a : 二者结合

git diff 得到的是从索引文件 到当前目录 的变化

git diff --cached 得到的是从git仓库到索引文件的变化

git diff HEAD 得到的是从git仓库到当前目录的变化

master分支是保护分支,我从master分支基础上新建了一个function分支,然后在function分支上提交代码时提示报错了

​
>git push origin function:master

remote: GitLab: You are not allowed to push code to protected branches on this project

To http://gitlab.it.tXX.com/bfi/bfiweb.git

![remote rejicted] function -> master (pre-receive hook declined)

error: failed to push some refs to http://gitlab.it.tXX.com/bfi/bfiweb.git

​

解决方式:

首先我通过git branch -vv 查看一下当前function分支上游分支,一看,它的分支果然是master,master是保护分支难怪提不上去,那么怎么改成function分支呢?

其次通过git branch --set-upstream-to=origin/A A

方式2:或者在提交的时候,要加一个 git push origin A:A,来更新远程的 A 分支

1)   从服务器上下载代码

2) 提交代码到服务器上

将XXX.psd(需要提交的文件)粘贴到E盘(工作目录)下

执行git diff 查看不同的地方

按enter键继续往下看,按wq退出

执行git add . 添加到暂存区中,再执行git status检查,变绿了.说明添加到了暂存区

执行git commit –a “注释” 提交到本地服务器上,-a是注释

执行git status 查看状态

最后一步,进行服务器上的提交

执行git push origin develop

这样,就完成了自己做的东西的提交.

git安装

安装成功后需要配置环境变量,我安装在了E:下,进入到cmd文件夹中,所以将E:\Git\cmd添加到path变量中,之后,在cmd命令行中输入git,验证是否配置成功

要想成功clone项目,还得这么做,生成密钥,然后输入用户名和邮箱才行。

直接输入yes就好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值