目 录CONTENT

文章目录

Git 命令详解

ABin
2022-08-10 / 0 评论 / 0 点赞 / 58 阅读 / 0 字

目录

1.新建仓库

2.克隆仓库

  • 克隆仓库

  • 无需关联线上仓库

  • 拉取线上最新代码

3.查看历史版本

新建仓库

  • 初始化仓库

  • git init 初始化仓库 创建一个空的 Git 仓库或重新初始化一个已存在的仓库 (会在当前目录下创建一个.git 的隐藏文件夹)

git init 
Initialized empty Git repository in /Users/ABin/test/.git/

  • 关联线上仓库

  • 关联仓库,跟线上的仓库关联起来,要不然不知道上传到哪里去

git remote add origin https://gitee.com/Coder_ABin/test.git

#删除关联的仓库
git remote rm origin 

#更改关联的仓库
git remote set-url origin https://gitee.com/Coder_ABin/test.git

#查看关联的仓库
git remote -v

  • 查看暂存区

#查看文件的状态(绿色的是已经添加的,红色的是已更改但是没有添加的文件)
git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
	README.md

nothing added to commit but untracked files present (use "git add" to track)

  • 添加文件

 #添加文件 (README.md是新创建的一个文件)
git add README.md

#添加所有文件(add后边跟‘空格’和‘点’)
git add .

  • 提交文件

#提交文件
git commit -m '提交消息'

#提交文件2 (已经提交过的文件,仅更改了内容可加 -a选项,省去git add .这一步了)
git commit -a -m '提交消息'

  • 推送文件

#推送
git push -u origin master
#或
git push --set-upstream origin master

#第一次上传需要加-u origin master以后可直接
git push
  • 强制推送

#强制推送
git push origin master -f
#或
git push -f

2.克隆仓库

  • 克隆仓库

  • 拉取线上最新代码

#克隆仓库,克隆仓库之后无需关联仓库(git remote add *)
git clone https://gitee.com/Coder_ABin/test.git

#拉取最新仓库代码防止有人提交过版本导致push 失败
git pull

#修改文件后上传 提交 (-a 可省去之前的git add )
git commit -a -m '更改文本内容'

#上传
git push

1.初始化仓库

进入到创建的项目根目录

#初始化 生成.git文件(文件默认隐藏 ls -a 可查看)
git init 

2.把文件添加到到本地仓库

#添加单个文件
git add README.md

#添加所有文件(适合已经完成的项目)
git add *

3.版本控制

配置公钥、密钥

#查看提交历史记录,从最近到最远,可以看到3次
git log

#加参,简洁查看
git log --pretty=oneline

#查看每一次修改历史
git reflog

#查看工作区中文件当前状态
git status

#回退版本
git reset --hard HEAD^(HEAD~100)(commit id)

#丢弃工作区的修改,即撤销修改
git checkout -- README.md

#丢弃暂存区的修改(若已提交,则回退)
git reset HEAD README.md

#在本地删除
rm README.md

#直接删除
git rm README.md
git commit -m "remove README.md"

#删错了,恢复
git checkout -- README.md

#删除已经添加到.gitignore(忽略文件)的文件 但是已经push 到服务器上的文件
#删除指定文件,如果是文件夹加 -r 参数 递归
git rm -r .vscode --cached

4.远程仓库

#克隆远程仓库
git clone git@github.com:Coder-Binary/test.git

#克隆之后使用和查看

#查看远程库的信息
git remote 

#查看远程库的详细信息
git remote -v

#查看push URL
git remote -v 

#添加push URL
git remote add origin https://*****

#删除push URL
git remote rm origin

#更改push URL
git remote set-url origin https://*****

#将本地内容推送到远程仓库(之后)
git push origin master 

#强制覆盖(回退版本可这样)-f 等同于 --force,两者都是表示强制覆盖的意思。
git push origin master -f
git push -f

https://blog.csdn.net/weixin_49851451/article/details/123944431
#初始化 生成.git文件(文件默认隐藏 ls -a 可查看)
git init

#添加单个文件
git add README.md

#添加所有文件(适合已经完成的项目)
git add *

#查看提交历史记录,从最近到最远,可以看到3次
git log

#加参,简洁查看
git log --pretty=oneline

#查看每一次修改历史
git reflog

#查看工作区中文件当前状态
git status

#回退版本
git reset --hard HEAD^(HEAD~100)(commit id)

#丢弃工作区的修改,即撤销修改
git checkout -- README.md

#丢弃暂存区的修改(若已提交,则回退)
git reset HEAD README.md

#在本地删除
rm README.md

#直接删除
git rm README.md
git commit -m "remove README.md"

#删错了,恢复
git checkout -- README.md

#删除已经添加到.gitignore(忽略文件)的文件 但是已经push 到服务器上的文件
#删除指定文件,如果是文件夹加 -r 参数 递归
git rm -r .vscode --cached

#克隆远程仓库
git clone git@github.com:Coder-Binary/test.git

#克隆之后使用和查看

#查看远程库的信息
git remote 

#查看远程库的详细信息
git remote -v

#查看push URL
git remote -v 

#添加push URL
git remote add origin https://*****

#删除push URL
git remote rm origin

#更改push URL
git remote set-url origin https://*****

#将本地内容推送到远程仓库(之后)
git push origin master 

#强制覆盖(回退版本可这样)-f 等同于 --force,两者都是表示强制覆盖的意思。
git push origin master -f
git push -f


#克隆输入密码
[root@Server ~]# git clone https://gitee.com/Coder_ABin/test.git
正克隆到 'test'...
Username for 'https://gitee.com': Coder_ABin
Password for 'https://Coder_ABin@gitee.com': 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
展开对象中: 100% (3/3), 194 字节 | 194.00 KiB/s, 完成.

#账号密码储存位置
 Committer: root <root@Server.lan>
您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
与否。您可以对其进行设置以免再出现本提示信息。运行如下命令在编辑器
中编辑您的配置文件:

    git config --global --edit

设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份:

    git commit --amend --reset-author

 1 file changed, 2 insertions(+)
[root@Server test]# git config --global --edit

#提交输入密码
[root@Server test]# git commit -a -m date 
位于分支 master
您的分支领先 'origin/master' 共 1 个提交。
  (使用 "git push" 来发布您的本地提交)

无文件要提交,干净的工作区
[root@Server test]# git push
Username for 'https://gitee.com': Coder_ABin
Password for 'https://Coder_ABin@gitee.com': 
枚举对象: 5, 完成.
对象计数中: 100% (5/5), 完成.
写入对象中: 100% (3/3), 256 字节 | 256.00 KiB/s, 完成.
总共 3(差异 0),复用 0(差异 0),包复用 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/Coder_ABin/test.git
   3617fb9..987fd35  master -> master

#储存密码  执行后再次 push 一下
git config --global credential.helper store

#或者 
git config --global --edit
#添加以下代码 保存后再次push重新输入密码
[credential]
        helper = store



开始一个工作区(参见:git help tutorial)
   clone             克隆仓库到一个新目录
   init              创建一个空的 Git 仓库或重新初始化一个已存在的仓库

在当前变更上工作(参见:git help everyday)
   add               添加文件内容至索引
   mv                移动或重命名一个文件、目录或符号链接
   restore           恢复工作区文件
   rm                从工作区和索引中删除文件
   sparse-checkout   初始化及修改稀疏检出

检查历史和状态(参见:git help revisions)
   bisect            通过二分查找定位引入 bug 的提交
   diff              显示提交之间、提交和工作区之间等的差异
   grep              输出和模式匹配的行
   log               显示提交日志
   show              显示各种类型的对象
   status            显示工作区状态

扩展、标记和调校您的历史记录
   branch            列出、创建或删除分支
   commit            记录变更到仓库
   merge             合并两个或更多开发历史
   rebase            在另一个分支上重新应用提交
   reset             重置当前 HEAD 到指定状态
   switch            切换分支
   tag               创建、列出、删除或校验一个 GPG 签名的标签对象

协同(参见:git help workflows)
   fetch             从另外一个仓库下载对象和引用
   pull              获取并整合另外的仓库或一个本地分支
   push              更新远程引用和相关的对象


执行 'git help <command>' 来查看特定子命令

主要的上层命令
   add                  添加文件内容至索引
   am                   应用邮箱格式的系列补丁
   archive              基于一个指定的树创建文件存档
   bisect               通过二分查找定位引入 bug 的提交
   branch               列出、创建或删除分支
   bundle               通过归档移动对象和引用
   checkout             切换分支或恢复工作区文件
   cherry-pick          应用一些现存提交引入的修改
   citool               git-commit 的图形替代界面
   clean                从工作区中删除未跟踪文件
   clone                克隆仓库到一个新目录
   commit               记录变更到仓库
   describe             基于一个现存的引用为一个对象起一个可读的名称
   diff                 显示提交之间、提交和工作区之间等的差异
   fetch                从另外一个仓库下载对象和引用
   format-patch         准备电子邮件提交的补丁
   gc                   清除不必要的文件和优化本地仓库
   gitk                 Git 仓库浏览器
   grep                 输出和模式匹配的行
   gui                  一个便携的 Git 图形客户端
   init                 创建一个空的 Git 仓库或重新初始化一个已存在的仓库
   log                  显示提交日志
   merge                合并两个或更多开发历史
   mv                   移动或重命名一个文件、目录或符号链接
   notes                添加或检查对象注释
   pull                 获取并整合另外的仓库或一个本地分支
   push                 更新远程引用和相关的对象
   range-diff           比较两个提交范围(如一个分支的两个版本)
   rebase               在另一个分支上重新应用提交
   reset                重置当前 HEAD 到指定状态
   restore              恢复工作区文件
   revert               回退一些现存提交
   rm                   从工作区和索引中删除文件
   shortlog             'git log' 输出摘要
   show                 显示各种类型的对象
   sparse-checkout      初始化及修改稀疏检出
   stash                贮藏脏工作区中的修改
   status               显示工作区状态
   submodule            初始化、更新或检查子模组
   switch               切换分支
   tag                  创建、列出、删除或校验一个 GPG 签名的标签对象
   worktree             管理多个工作区

辅助命令/操作者
   config               获取和设置仓库或者全局选项
   fast-export          Git 数据导出器
   fast-import          Git 快速数据导入器后端
   filter-branch        重写分支
   mergetool            运行合并冲突解决工具以解决合并冲突
   pack-refs            打包头和标签以实现高效的仓库访问
   prune                删除对象库中所有不可达对象
   reflog               管理 reflog 信息
   remote               管理已跟踪仓库
   repack               打包仓库中未打包对象
   replace              创建、列出、删除对象替换引用

辅助命令/询问者
   annotate             使用提交信息注释文件行
   blame                显示文件每一行最后修改的版本和修改者
   bugreport            收集信息以供用户提交错误报告
   count-objects        计算未打包对象的数量和磁盘空间占用
   difftool             使用常见的差异工具显示更改
   fsck                 验证仓库中对象的连通性和有效性
   gitweb               Git web 界面(Git 仓库的 web 前端)
   help                 显示 Git 的帮助信息
   instaweb             在 gitweb 中即时浏览您的工作仓库
   merge-tree           显示三路合并而不动索引
   rerere               重用冲突合并的解决方案记录
   show-branch          显示分支和提交
   verify-commit        检查 GPG 提交签名
   verify-tag           检查标签的 GPG 签名
   whatchanged          显示每一个提交引入的差异日志

与其它系统交互
   imap-send            从标准输入将一组补丁发送到IMAP文件夹
   quiltimport          将一个 quilt 补丁集应用到当前分支。
   request-pull         生成待定更改的摘要
   send-email           通过电子邮件发送一组补丁
   svn                  Subersion 仓库和 Git 之间的双向操作

低级命令/操作者
   apply                应用一个补丁到文件和/或索引区
   checkout-index       从索引拷贝文件到工作区
   commit-graph         写入和校验 Git 提交图文件
   commit-tree          创建一个新的提交对象
   hash-object          从一个文件计算对象 ID,并可以创建 blob 数据对象
   index-pack           从一个现存的包存档文件创建包索引
   merge-file           运行一个三路文件合并
   merge-index          对于需要合并的文件执行合并
   mktag                创建一个标签对象
   mktree               基于 ls-tree 的格式化文本创建一个树对象
   multi-pack-index     写入和校验多包索引
   pack-objects         创建对象的存档包
   prune-packed         删除已经在包文件中的多余对象
   read-tree            将树信息读取到索引
   symbolic-ref         读取、修改和删除符号引用
   unpack-objects       从打包文件中解压缩对象
   update-index         将工作区的文件内容注册到索引
   update-ref           安全地更新存储于引用中的对象名称
   write-tree           从当前索引创建一个树对象

低级命令/询问者
   cat-file             提供仓库对象的内容、类型或大小
   cherry               查找尚未应用到上游的提交
   diff-files           比较工作区和索引区中的文件
   diff-index           将一个树和工作区或索引做比较
   diff-tree            比较两个树对象的文件内容和模式
   for-each-ref         对每一个引用输出信息 
   get-tar-commit-id    从 git-archive 创建的归档文件中提取提交 ID
   ls-files             显示索引和工作区中文件的信息
   ls-remote            显示一个远程仓库的引用
   ls-tree              显示一个树对象的内容
   merge-base           为了合并查找尽可能好的公共祖先提交
   name-rev             查找给定版本的符号名称
   pack-redundant       查找冗余的包文件
   rev-list             按时间顺序列出提交对象
   rev-parse            选出并处理参数
   show-index           显示打包归档索引
   show-ref             显示本地仓库中的引用
   unpack-file          用 blob 数据对象的内容创建一个临时文件
   var                  显示一个Git逻辑变量
   verify-pack          校验打包的Git存仓文件

低级命令/同步仓库
   daemon               一个非常简单的 Git 仓库服务器
   fetch-pack           从另一个仓库获取缺失的对象
   http-backend         Git HTTP 协议的服务端实现
   send-pack            使用 Git 协议推送对象到另一个仓库
   update-server-info   更新辅助信息文件以帮助哑协议服务

低级命令/内部助手
   check-attr           显示 gitattributes 信息
   check-ignore         调试 gitignore / exclude 文件
   check-mailmap        显示联系人的规范名称和电子邮件
   check-ref-format     确保引用名称格式正确
   column               以列的方式显示数据
   credential           检索和存储用户密码
   credential-cache     在内存中临时存储密码的助手
   credential-store     在磁盘存储密码的助手
   fmt-merge-msg        生成一个合并提交信息
   interpret-trailers   添加或解析提交说明中的结构化信息
   mailinfo             从单个电子邮件中提取补丁和作者身份
   mailsplit            简单的 UNIX mbox 邮箱切分程序
   merge-one-file       与 git-merge-index 一起使用的标准向导程序
   patch-id             计算一个补丁的唯一 ID
   sh-i18n              为 shell 脚本准备的 Git 国际化设置代码
   sh-setup             常用的 Git shell 脚本设置代码
   stripspace           删除不必要的空白字符

0

评论区