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
相关推荐
逛逛GitHub1 小时前
登上 GitHub 热榜!一口气调用多个 AI 大模型开源神器。
github
21号 12 小时前
4.客户端(Redis)
开发语言·数据库·github
学渣676562 小时前
【面向小白】git rebase全面总结,什么时候用rebase
git
扁豆的主人2 小时前
Elasticsearch
大数据·elasticsearch·jenkins
梦想CAD控件2 小时前
网页CAD中组(Group)功能的二次开发
前端·javascript·github
想ai抽3 小时前
Flink重启策略有啥用
大数据·flink
TMT星球3 小时前
TCL华星t8项目正式开工,总投资额约295亿元
大数据·人工智能
阿里云大数据AI技术3 小时前
云栖实录 | 驶入智驾深水区:广汽的“数据突围“之路
大数据·人工智能
米诺zuo3 小时前
不同的项目仓库配置不同的github账号
github
B站_计算机毕业设计之家3 小时前
python股票交易数据管理系统 金融数据 分析可视化 Django框架 爬虫技术 大数据技术 Hadoop spark(源码)✅
大数据·hadoop·python·金融·spark·股票·推荐算法