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是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

1.常用操作

1.1.基本操作

命令说明
git init在现有目录中初始化仓库
git clone git@xxxxx.cn/xxxx/project.git克隆现有的仓库
git add 跟踪新文件或把文件修改添加到暂存区(stage)
git commit -m “更新说明”提交更新到本地版本库
git push origin master推送到远程master分支(可加-u参数关联)
git pull origin master从远程仓库master分支拉取内容
git status查看已暂存和未暂存的修改
git diff 查看已暂存和未暂存的修改
git commit --amend修改最后一次提交的commit
git rm -r --cached logs移除 logs 目录的版本控制,--cached 只去除版本控制而不删除本地文件
git config --global user.name “yourname”设置用户名
git config --global user.email “youremail”设置邮箱
git config --list查看配置信息

1.2.分支管理

命令说明
git merge --no-ff develop合并develop分支到当前分支 --no-ff不使用fast-forward方式合并,保留分支的commit历史
git merge --no-ff origin/develop合并远程develop分支到当前分支
git branch查看分支(-a参数可查看远程分支)
git checkout -b develop创建并切换到develop
git checkout develop切换到develop分支
git branch -d develop删除本地develop分支
git push origin --delete develop删除远程develop分支

1.3.标签管理

命令说明
git tag列出标签
git tag -l “v1.8.5*”按照特定的模式查找标签
git tag v1.4创建一个轻量标签
git tag -a v1.4 -m “my version 1.4”创建一个附注标签
git show v1.4查看标签信息和与之对应的提交信息
git tag -a v1.2 9fceb02给过去的提交补打标签
git push origin v1.4将v1.4标签推送到远程服务器
git push origin --tags将所有标签推送到远程服务器
git tag -d v1.4删除本地的v1.4标签
git push origin --delete v1.4删除远程服务器的v1.4标签

2.Windows配置别名

配置文件路径: C:\Program Files\Git\etc\profile.d\aliases.sh

Git配置别名通常有两种方式:命令行配置和配置文件配置别名。

2.1.命令行配置别名

git config --global alias.st status

这个命令就相当于把status简化为st。 以后就可以使用 git st 查看。

2.2.配置文件配置别名

git配置又分为两种:

? 局部的配置:每个仓库内部的配置文件,基本都放在项目根目录.git/config文件中。

? 全局的配置: 当前用户目录下有一个全局的git配置文件.gitconfig。例如: C:\Users\Administrator\.gitconfig

参考配置如下:

[alias]
    st = status
[user]
    name = xxxx
    email = xxxxx@qq.com
[push]
    default = matching

如果想要增加别名,就可以在[alias]下边添加,一行对应一个别名。

2.3.常用别名配置

[alias]
    st = status
    cm = commit -m
    ck = checkout
    cb = checkout -b
    ba = branch -a
    br = branch
    bd = branch -D
    pbd = push origin --delete
    mg = merge --no-ff -m
    clog = log --graph --pretty=oneline --abbrev-commit
    po = push origin
    pl = pull origin
    pm = pull origin master
    pts = push --tags
    rp = remote prune origin
# git push origin tagname
# git push --tags
# git remote prune origin  清除已经删除的远程分支的本地记录

2.4.自定义样式

通过定义git log 的别名设置自定义样式,示例如下:

// git lg
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit"

以后直接输入 git lg 就行了。其实就是添加到了全局的配置文件中。

  • 按时间范围统计用户提交代码行数

自2017-01-01号以来的代码提交行数:

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --since='2017-01-01' --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
  • 按时间范围统计用户提交次数

自2017-01-01号以来的提交次数:

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --no-merges --since='2017-01-01' |  grep -e 'commit [a-zA-Z0-9]*' | wc -l;done

3. 配置用户

3.1.设置用户名和邮箱

git config --global user.name "git用户名"
git config --global user.email "git邮箱"

注意:也可以通过修改配置文件~/.gitconfig来实现。

3.2.生成密钥

根据用户名、邮箱生成密钥,注意这里的邮箱一定要是git账户对应的邮箱。

ssh-keygen -t rsa -C "git邮箱"

3.3.复制秘钥到gitlab

查看生成的秘钥,进入GitLab的个人页面,将复制的公钥添加入自己的SSH秘钥。

cat ~/.ssh/id_rsa.pub

4.多用户设置

这里假设有两个用户zq1zq2,分别对应两个不同的gitlab服务器,当然也可以是一个gitlab服务器上的两个不同用户。

4.1.创建config文件

vim ~/.ssh/config

编写内容

Host gitServer_1
   # 连接用户
   User zq1
   # 连接IP地址
   Hostname 192.168.8.100
   # 私钥路径
   IdentityFile '~/.ssh/keys/ed25519_1'
   # 连接端口
   Port 22
   
Host gitServer_2
   # 连接用户
   User zq2
   # 连接IP地址
   Hostname 192.168.8.101
   # 私钥路径
   IdentityFile '~/.ssh/keys/ed25519_2'
   # 连接端口
   Port 22

注意:

Host:每个SSH连接的单独代号

User: 对应的用户名

IdentityFile:告诉SSH连接对应的私钥

Port:对应的端口

4.2.测试连接

ssh -T zq1@gitServer_1

4.3.使用Git 下载对应项目

git clone zq1@gitServer_1:/myproject

4.4.设置当前项目的用户名和邮箱

cd myproject
git config user.name "you name"
git config user.email "you email"

git config --list

5.总结

看起来挺繁琐,其实git使用起来并不是很难,大家实际操作几遍就会了。

  开发工具 最新文章
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常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:35:05  更:2022-10-22 21:37:15 
 
开发: 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/25 20:14:05-

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