> 技术文档 > git企业的使用详细命令行操作_git企业级用法

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


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

文章目录

  • 查看git是否安装以及配置
    • 配置别名
  • 创建文件和修改文件内容
      • 将本地仓库的文件放到暂存区
      • 取消暂存
      • 查看修改后的文件
      • 提交到版本库(commit)
      • 查看提交记录日志
  • 版本回退(git reset)
  • 撤销修改
      • 工作区的解决方式
      • 工作区暂存区存在
      • 在没有push情况下commit之后
  • 删除版本库文件
      • 方法1
      • 方法2
  • 分支管理
      • 切换分支
      • 合并分支
      • 删除分支
      • bug分支
      • 强制删除分支
  • 远程仓库
      • 克隆远程仓库
      • 将本地仓库传入到远程仓库中(push)
      • 拉取本地仓库的内容(pull)
      • 编辑不想git追踪的文件
  • 标签功能
  • 安装tree的命令

查看git是否安装以及配置

  • git版本
# 查看git版本git --version# 查看git的安装路径which git
  • 关于创建git仓库
#我是创建到了桌面cd Desktop;#创建目录进入mkdir gitCode;cd gitCode;#初始化git仓库为空仓库git init;
  • git中配置用户名和邮箱
#添加用户名和邮箱操作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;

配置别名

#可以将status状态改为别名stgit config --global alias.st status

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


创建文件和修改文件内容

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

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

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

取消暂存

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

查看修改后的文件

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

提交到版本库(commit)

git commit -m \"文件的描述信息\"

查看提交记录日志

git log --pretty;#两种都可以git log --pretty=oneline;

版本回退(git reset)

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

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

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

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



撤销修改

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

工作区的解决方式

git checkout -- doucu

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


工作区暂存区存在

git reset HEAD^ docu

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


在没有push情况下commit之后

git reset --hard HEAD^

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


删除版本库文件

方法1

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

方法2

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

分支管理

HEAD通过指针指向主分支(默认分支master/main.c),目前在工作的分支。
git企业的使用详细命令行操作_git企业级用法
这里我们可以通过 tree .git/ 来查看树下的分支情况

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

切换分支

# 切换分支git check docu

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


# 这个是新建一个分支并进行切换git checkout -b docu

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

这里切换后分支默认是最新提交的一次数据,如果修改后,则新分支指向最新修改的一次,父亲节点则是上一次的数据。
git企业的使用详细命令行操作_git企业级用法


合并分支

将分支合并到主分支中

#通过一下命令将分支合并git merge branch_name

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

  • 查看合并分支可视图情况
git log --graph --abbrev-commit

删除分支

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

git branch -d branch_name#删除远程仓库的分支git push origin --delete branch_name

bug分支

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

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

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

当我们开发完成之后,提交到版本库中时,因为我们已经将主分支master和修复bug分支进行了合并,这时候我们的开发分支与其合并会产生冲突,因为开发分支并没有修复bug分支的代码。
git企业的使用详细命令行操作_git企业级用法
git企业的使用详细命令行操作_git企业级用法

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

git merge --no-ff -m \"merge information\" master

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


强制删除分支

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

git branch -D master

远程仓库

克隆远程仓库

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

git clone https://gitee.com/christianward/remote-git-code.git

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

# 查看远程仓库名git remote # 查看远程仓库的权限git remote -v

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


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

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

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

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

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

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

编辑不想git追踪的文件

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

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

git check-ignore- v e.so

标签功能

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

标记

# 进行标记 tag后面内容为标记的名称git tag J1.0

查询命令

git tag

删除命令

git tag -d tag_name

对标记进行描述

 git tag -a tag_name -m \"Discribe\"

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

git show tag_name

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


推送指定标签至远程仓库

git push origin tag_name

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

推送所有标签至远程仓库

git tag origin --tag

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


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

git tag -d tag_namegit push origin :tag_name

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


安装tree的命令

brew install tree

广电宽带助手