git企业的使用详细命令行操作

git是Linux创始人通过内核开发而创作的分布式版本的控制系统,而我们作为开发者需要开发与维护,避免不了版本的迭代和更新,git就是用来保存修改删除等操作的工具,可以记录代码改动情况,它能够保存代码的每个版本,每个版本文件中修改和删除git都会跟踪,通过追踪的方式使得开发者能够更有效率的获取到之前的版本,让开发的效率提高。

这里的HEAD指针指向master

通过 cat .git/HEAD查看

文章目录

查看git是否安装以及配置

  • git版本
bash 复制代码
# 查看git版本
git --version
# 查看git的安装路径
which git
  • 关于创建git仓库
bash 复制代码
#我是创建到了桌面
cd Desktop;
#创建目录进入
mkdir gitCode;
cd gitCode;
#初始化git仓库为空仓库
git init;
  • git中配置用户名和邮箱
bash 复制代码
#添加用户名和邮箱操作
git config user.name "用户名";
git config user.email "邮箱";
#取消用户名及邮箱
git config --unset user.name;
git config ==unset user.email;

#添加全球用户名和邮箱操作(global)
git config --global user.name "用户名";
git config --global user.email "邮箱";
#取消全局用户名及邮箱
git config --global --unset user.name;
git config --global --unset user.email;

#查看配置情况
git config -l;

#查看当前目录的绝对路径
pwd;

配置别名

bash 复制代码
#可以将status状态改为别名st
git config --global alias.st status

创建文件和修改文件内容

bash 复制代码
#创建文件
touch statement;
#使用vim来编辑文件
vim statement;
#当进入vim进行编辑,当编辑好后通过esc来进入命令模式,通过:wq回车退出保存.
#查看文件内容
cat statement;

将本地仓库的文件放到暂存区

bash 复制代码
#将该工作区的所有文件添加到暂存区
git add .
#指定文件可以多个包
git add docu1 docu2;

取消暂存

bash 复制代码
# 这里是查看当前仓库的状态查看是否对文件有修改
#绿色为暂存区文件,红色为没有放入暂存区
git status;
# 取消暂存
git rm --cached docu1 docu2;

查看修改后的文件

bash 复制代码
# 这里是查看当前仓库的状态查看是否对文件有修改
git status;
# 查看工作区和暂存区的差异(当add后再次进行修改)绿色为改动部分内容
git diff docu1;
# 查看版本库和工作区文件的区别
git diff HEAD -- docu1;

提交到版本库(commit)

bash 复制代码
git commit -m "文件的描述信息"

查看提交记录日志

bash 复制代码
git log --pretty;
#两种都可以
git log --pretty=oneline;

版本回退(git reset)

通过版本回退,返回到之前其他的版本

例如公司老板不喜欢这一版本,认为上一版本更好,这时候需要回退,拿到其他版本。

回退版本库的命令(git reset)
--soft 只回退版本库中的结果
--mixed(默认选项) 对版本库以及暂存区的内容进行回退,不回退工作区
--hard 回退所有区域的内容,慎用!可能会把版本消除
HEAD 表示的是当前版本(在后面加^表示上一个版本)

这里如果我们清屏或者是关闭terminal后,找不到log中的记录的提交id,当我们需要恢复的时候,我们可以通过relog来查看,并重写回退(这里如果及时发现可能不会将id冲掉,如果冲掉则无法回滚了)。



撤销修改

操作 工作区 暂存区 版本库 撤销解决方式
docu git checkout --[filename]
add docu docu git reset
commit docu docu docu 条件:commit 之后没有push操作,git reset --hard HEAD^

工作区的解决方式

bash 复制代码
git checkout -- doucu

工作区暂存区存在

bash 复制代码
git reset HEAD^ docu

在没有push情况下commit之后

bash 复制代码
git reset --hard HEAD^

删除版本库文件

方法1

bash 复制代码
# 删除工作区的内容
rm docu
# 将工作区变动放到暂存区
git add douc #"要删除的文件名"
# 最后提交变动
git commit -m "珊瑚的文件"

方法2

bash 复制代码
#使用git rm可以将本地仓库和暂存区的指定文件一起删除 
git rm docu
#可以查看一下通过git status
#删除文件提交
git commit -m "删除文件"

分支管理

HEAD通过指针指向主分支(默认分支master/main.c),目前在工作的分支。

这里我们可以通过 tree .git/ 来查看树下的分支情况

  • 查看本地分支命令
bash 复制代码
git brach
# 创建本地分支后面加分支名字
#新分支指向的最近提交的一次内容
git branch branch_name

切换分支

bash 复制代码
# 切换分支
git check docu

bash 复制代码
# 这个是新建一个分支并进行切换
git checkout -b docu

这里切换后分支默认是最新提交的一次数据,如果修改后,则新分支指向最新修改的一次,父亲节点则是上一次的数据。


合并分支

将分支合并到主分支中

bash 复制代码
#通过一下命令将分支合并
git merge branch_name
  • 查看合并分支可视图情况
bash 复制代码
git log --graph --abbrev-commit

删除分支

这里的前提不允许在该删除的分支下进行删除此分支操作。

bash 复制代码
git branch -d branch_name
#删除远程仓库的分支
git push origin --delete branch_name

bug分支

当我们在分支进行开发时,主分支出现bug,这时候我们需要将分支stash到当前分支的树下,然后切换到主分支创建一个修复bug的分支,进而合并

bash 复制代码
#将当前正在开发的代码藏到该分支下
git stash
#当我们的bug修复好后重写切换到开发的分支下通过以下恢复之前开发的代码
git stash list
git stash pop

当我们开发完成之后,提交到版本库中时,因为我们已经将主分支master和修复bug分支进行了合并,这时候我们的开发分支与其合并会产生冲突,因为开发分支并没有修复bug分支的代码。


这时候我们可以先从本地分支对master的分支先进行合并,在本地仓库进行修改并提交

bash 复制代码
git merge --no-ff -m "merge information" master

这时候切换到master分支在对本地分支进行合并


强制删除分支

如果删除不打算合并的分支

bash 复制代码
git branch -D master

远程仓库

克隆远程仓库

通过远程仓库克隆命令克隆到本地仓库中

bash 复制代码
git clone https://gitee.com/christianward/remote-git-code.git

origin作为我们的远程仓库的默认名字,可以进行查看通过

bash 复制代码
# 查看远程仓库名
git remote 
# 查看远程仓库的权限
git remote -v

将本地仓库传入到远程仓库中(push)

拉取本地仓库的内容(pull)

当我们在开发中,有其他成员上传了新的数据,这时候我们需要从远程仓库中获取到数据,可以使用以下命令。

bash 复制代码
git pull origin master:master
#如果本地分支和远程分支相同则直接通过
git pull origin master

编辑不想git追踪的文件

bash 复制代码
vim. .gitignore
*.so
#这里如果创建.so文件并add时会忽略
git add manager.so
#强制添加忽略文件 -f,即可强制放入暂存区
git add -f manager.so
#也可以将.gitignore中添加不排除文件
!manager.so

这里如果想要查询的文件为什么被忽略可以通过以下命令

bash 复制代码
git check-ignore- v e.so

标签功能

标签通过每次提交,对提交后的最近版本进行较重要的标识标记。

标记

bash 复制代码
# 进行标记 tag后面内容为标记的名称
git tag J1.0

查询命令

bash 复制代码
git tag

删除命令

bash 复制代码
git tag -d tag_name

对标记进行描述

bash 复制代码
 git tag -a tag_name -m "Discribe"

查看标签的描述信息以及对应信息

bash 复制代码
git show tag_name

推送指定标签至远程仓库

bash 复制代码
git push origin tag_name


推送所有标签至远程仓库

bash 复制代码
git tag origin --tag



本地中删除标签并推送远程仓库

bash 复制代码
git tag -d tag_name
git  push origin :tag_name

安装tree的命令

bash 复制代码
brew install tree
相关推荐
浩浩kids11 分钟前
Hadoop•搭建完全分布式集群
大数据·hadoop·分布式
中东大鹅1 小时前
Redis实训:社交关注关系存储任务
大数据·数据库·hadoop·redis·分布式·缓存
fivestar20092 小时前
记录点android升级内容
android·gitee
凉秋girl3 小时前
git常见知识点
git
B站计算机毕业设计超人3 小时前
计算机毕业设计Django+LSTM模型弹幕情感分析 B站视频数据可视化 B站爬虫 机器学习 深度学习 NLP自然语言处理 大数据毕业设计
大数据·深度学习·算法·机器学习·网络爬虫·课程设计·数据可视化
__Benco4 小时前
OpenHarmony API 设计规范
java·大数据·数据库·harmonyos
阿政一号4 小时前
Linux初识:【版本控制器Git】【调试器gdb/cgdb使用】
linux·运维·服务器·git·版本控制器·gdb/cgdb
StarRocks_labs5 小时前
从 Spark 到 StarRocks:实现58同城湖仓一体架构的高效转型
大数据·架构·spark·湖仓一体·lakehouse
程序员 小柴5 小时前
SpringMVC框架
java·git·leetcode
hunter2062065 小时前
ubuntu修改hosts文件使之能下载github的文件
linux·ubuntu·github