IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git 使用 -> 正文阅读

[开发工具]git 使用

git 使用

参考文档https://gitee.com/progit/

命令行指令

Git 全局设置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"

创建新版本库
git clone ssh://git@192.168.91.15:2222/root/Use-Git.git
cd Use-Git
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

已存在的文件夹
cd existing_folder
git init
git remote add origin ssh://git@192.168.91.15:2222/root/Use-Git.git
git add .
git commit -m "Initial commit"
git push -u origin master

已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@192.168.91.15:2222/root/Use-Git.git
git push -u origin --all
git push -u origin --tags

git与gitlab

  • git 的 user 和 gitlab的用户对不对应并不相关(一般对应),只是配置了git user ,生成的ssh key,与gitlab相绑定
  • 例:# git 上配置了用户 xiaozhang ,gitlab 使用的 zhangzhang用户登陆,通过ssh 秘钥的方式,xiaozhang能拉 gitlab zhangzhang 有权限的项目

git标签

常见的场景:对 当前/制定 版本打标签,推送到 gitlab

# 当前版本打标签
git tag -a v1.6 -m "v1.6"

# 指定版本打标签
git log --oneline 
git tag -a v1.6 xxxx -m "v1.6"

# 推送到gitlab
git push -u origin v1.6


# 查看所有标签 
git tag

1. git 基本操作

git config --global user.name 'zy' 
git config --global user.email 'xxx@qq.com' 
git config --global color.ui true 
# 一般两种方式 为:
1. 本地初始化仓库,在添加远程仓库一般不用 git init 
2. 直接克隆 远程仓库 git clone xxxxxxx
本地 暂存区 本地仓库 远程仓库

# git add / git commit -m "xx"
# 任何增删改查的操作,通过上面两条命令,使得每一次改动,成为一个版本,且会在本地仓库有所记录,提交到远程仓库后,改动的版本记录也会保存在远程仓库
# 通过 git log --oneline 查看记录
# 每操作一次命令 就看一下状态 git status

本地到本地仓库同步之前

## 增
touch a.txt
git add . 
git commit -m "add a.txt"
git push -u origin master

## 删除暂存区的文件,不删本地
touch a.txt
git add . 
git rm --cached a.txt    

## 删除所有的文件
touch a.txt
git add . 
git commit -m "add a.txt"
git rm -f a.txt   
git commit -m "del a.txt"

## 删除远程仓库的文件
touch a.txt
git add . 
git commit -m "add a.txt"
git push -u origin master
git rm -f a.txt   
git commit -m "del a.txt"
git push -u origin master

## 文件改名
## 没add 之前 随便改,没有意义

## add 后,没commit 之前,mv a.txt a 会被认为是误删除:
touch a.txt 
git add . 
mv a.txt a
git status : 此时会被认为 1:提交了文件a.txt 2:误删除了文件a.txt  两个事件系统不会认为是一起的
git add .   
git status : 此时会被认为 1:提交了文件a.txt 2:误删除了文件a.txt 3:提交了文件a  三个事件系统不会认为是一起的
git commit -m “xxx”
git push -u origin master : 远程仓库会有两个文件,a.txt 和a 但是git status 仍然认为是a.txt 误删除
# git checkout -- a.txt 追回


本地到本地仓库同步之后
## 文件改名
## commit之后 直接mv 改会被认为是 误删除,且新加一个文件
git mv 1234 a.txt
git status : 此时会被认为 文件1234 改名为 a.txt
git add . 
git commit -m "xx"

## 删除
 git rm -f a.txt
 git status
 git add . 
 git commit -m "del a.txt"
 

## 查看指向的版本
git log --oneline  --decorate
git  reset --hard  xxxx 【回滚之后,就看不到之后的版本,需要先把所有的hard记录一下】
git reflog
# 对比当前工作区和暂存区的区别
git diff 

# 对比暂存区和本地仓库的区别
git diff --cached

2. 标签

标签也是指向了一次commit提交,是一个里程碑式的标签,回滚打标签直接加标签号,不需要加唯一字符串不好记
[root@git git_data]# git tag ‐a v1.0 ‐m "aaa bbb master tesing version v1.0" # ‐a指定标签名
字 ‐m 指定说明文字
[root@git git_data]# git tag
v1.0
[root@git git_data]# git tag ‐a v2.0 dbead4c ‐m "add bbb version v2.0" # 指定某一次的提交为标签
[root@git git_data]# git show v1.0 # 查看v1.0的信息 git show 加标签查看
[root@git git_data]# git reset ‐‐hard v2.0 # 直接还原数据到v2.0
HEAD 现在位于 dbead4c add bbb
[root@git git_data]# ll
总用量 4
‐rw‐r‐‐r‐‐ 1 root root 8 8月 23 11:26 a
‐rw‐r‐‐r‐‐ 1 root root 0 8月 23 11:25 b
[root@git git_data]# git tag ‐d v2.0 # 删除标签 ‐d参数

3. 分支

# 创建分支
git branch testing

# 查看分支
git branch

# 切换分支
git checkout testing
# 切换并创建分支
git checkout -b testing

# 删除分支
git branch -d testing
合并到主分支
1. 切换到master
git checkout master

2. 合并testing 的内容
git merge testing 

3. 用完就删除,下次再用在创建
git branch -d testing

如果两个人同时对一个文件的同一行进行操作,合并到主分支时,会提示代码冲突
需要手动解决:找到该文件进行手动编辑
然后在 
git add . 
git commit -m""

4.技巧

git 自动补全

不管怎么装的都有一个 git-completion.bash 文件,将此文件复制到你自己的用户主目录中

cp git-completion.bash ~/.git-completion.bash

echo "source ~/.git-completion.bash" >> ~/.bashrc
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:39:18  更:2021-10-12 23:40:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:35:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码