git
git 是linus 使用c 语言编写的分布式版本控制系统
git 命令
一、安装git
yum update -y yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker wget https://github.com/git/git/archive/v2.7.4.zip unzip v2.7.4.zip cd git-2.7.4 make prefix=/usr/local/git all make prefix=/usr/local/git install rm -rf /usr/bin/git #centos7 自带的1.8.3.1 ln -sv /usr/local/git/bin/git /usr/bin/git git --version
二、git之旅
-
创建空目录
mkdir test && cd test
-
初始化仓库
git init
-
告诉git我是谁
git config --global user.email "1209233066@qq.com"
git config --global user.name "1209233066@qq.com"
git config --global --list
-
测试一个提交
touch readme.md && git add . && git commit -m "wrote readme"
-
查看提交的记录
git log
git log --pretty=oneline
-
向前回滚
查看当前所处提交
git reset --hard HEAD
回滚到上一个提交
git reset --hard HEAD^
回滚到上上个提交
git reset --hard HEAD^^
回滚到前100个版本
git reset --hard HEAD~100
回滚到指定版本
git reset --hard 1094a
-
向后回滚
查看提交记录
git reflog
向前回回滚
git reset --hard 1094a
-
撤销修改
-
未提交到 暂存区
git checkout -- filename
-
已经执行
git add filename
提交到 暂存区git reset HEAD filname
git checkout -- filename
-
-
删除版本库文件
git rm filename; git commit -m "delete filename"
-
关联远程仓库
origin 代指紧接的git地址,可以修改成任意方便记忆的名称
git remote add origin git@github.com:michaelliao/learngit.git
git remote -v
第一次推送
master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来git push -u origin master
以后修改后在提交
git push origin master
删除与远程仓库的关联
git remote rm origin
克隆远程仓库
git clone https://gitee.com/mingtian66/flask.git master
或者git clone origin master
删除远程仓库dev分支
git push origin --delete dev
-
分支
创建并切换到分支
git checkout -b readme
等同于git branch readme; git checkout readme
查看当前所处分支
git branch
或git branch -v
合并分支git checkout master && git merge readme
合并后删除分支
git branch -d readme
-
tag,便于人类查找
对当前提交打tag
git tag v1.0
对指定提交打taggit tag v1.0 8a29a3b0
对指定版本打tag 并附上文字说明git tag -a v0.1 -m "version 0.1 released" 1094adb
查看做了哪些tag git tag
查询指定tag的详细信息git show v1.0
commit 8a29a3b0d91cbcc4fad4151315ef07b0ae4a2d40 (HEAD -> readme, tag: v1.0, origin/readme)推送指定tag到远端仓库
git push origin v1.0
推送所有tag到远端仓库git push origin --tags
删除tag
git tag -d v1.0
如果需要删除一个已经推送到远程仓库的tag
git tag -d <tagname>
git push origin :refs/tags/<tagname>
-
克隆remote仓库
# @ 符号转换为 assii码的40 ,书写方式 %40 git clone https://wangendao%40qq.cn:Cc1020304050@gitee.com/devops/flask.git
git可视化工具
gitlab
gitlab 是git的托管中心
安装gitlab
- 系统版本
test@test:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04 LTS Release: 22.04 Codename: jammy
- 从清华源下载离线安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/gitlab-ce_15.0.1-ce.0_amd64.deb
- 离线安装包
sudo dpkg -i gitlab-ce_15.0.1-ce.0_amd64.deb
- 修改配置文件
sudo vi /etc/gitlab/gitlab.rb 修改下面这一行 external_url 'http://10.4.7.128'
- 修改配置后应用到gitlab 并启动
gitlab-ctl reconfigure gitlab-ctl start
- 查看root 密码,这个文件24h后删除
sudo cat /etc/gitlab/initial_root_password
登录后修改密码为 12345678
修改中文显示
创建项目
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏