介绍
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 status
-
更新本地目录: git pull origin develop,这样就将服务器上的项目下载到本地工作目录中了
克隆项目(0->1):
-
进入克隆目录(空目录)
-
在git上将项目的ssh命令复制出来:例如:git@192.168.0.63:GEI-Share/spark.git
-
在空目录右键选择git bush here
-
输入 git clone git@192.168.0.63:GEI-Share/spark.git(右键->paste)
-
下载好之后,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就好
1万+

被折叠的 条评论
为什么被折叠?



