首页 > 系统相关 >【AcWing-Linux】05. Git

【AcWing-Linux】05. Git

时间:2022-11-04 09:59:38浏览次数:52  
标签:git name 05 仓库 -- Git branch Linux 分支

Git

一、Git简介

Git是一个分布式版本控制工具,通常对于软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,Git仓库分为两种:

  1. 本地仓库:开发人员自己电脑上的Git仓库
  2. 远程仓库:远程服务器上的Git仓库

二、Git基本概念

  • 工作区:仓库的目录。工作区是独立于各个分支的。

包含.git文件夹的目录就是工作区,也成为工作目录,主要用于存放开发的代码。

  • 暂存区:数据暂时存放的区域,类似于工作区写入版本库前的暂存区。暂存区是独立于各个分支的。

.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage

  • 版本库:存放所有已经提交到本地仓库的代码版本。

.git隐藏文件就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等

  • 版本结构:树结构,树中每个节点代表一个代码版本。
image-20221102152114961

三、Git常用命令

  1. git config --global user.name XXX:设置全局用户名,信息记录在~/.gitconfig文件中
  2. git config --global user.email [email protected]:设置全局邮箱地址,信息记录在~/.gitconfig文件中
  3. git init:将当前目录配置成git仓库(本地仓库),信息记录在隐藏的.git文件夹中
  4. git add XXX:将XXX文件添加到暂存区(把文件添加到暂存区)
    • git add .:将所有待加入到暂存区的文件加入到暂存区
    • git add *:同上
  5. git rm --cached XX:将文件从仓库索引目录中删掉
  6. git commit -m "给自己看的备注信息":将暂存区的内容提交到当前分支(把文件添加到版本管理)
  7. git status:查看仓库状态
  8. git diff XX:查看XX文件相对于暂存区修改了哪些内容
  9. git log:查看当前分支的所有版本(从根到HEAD)
    • git log --pretty=oneline:按行展示
  10. git reflog:查看HEAD指针的移动历史(包括被回滚的版本)
  11. git reset --hard HEAD^git reset --hard HEAD~:将代码库回滚到上一个版本
    • git reset --hard HEAD^^:往上回滚两次,以此类推
    • git reset --hard HEAD~100:往上回滚100个版本
    • git reset --hard 版本号:回滚到某一特定版本
  12. git checkout - XXgit restore XX:将XX文件尚未加入暂存区的修改全部撤销

  1. git remote add origin [email protected]:xxx/XXX.git :将本地仓库关联到远程仓库
    • git remote add [shortname] [url]
  2. git push -u(第一次需要-u,以后不需要):将当前分支推送到远程仓库
    • git push origin branch_name:将本地的某个分支推送到远程仓库
    • git push [alias] [branch]
  3. git clone [email protected]:xxx/XXX.git:将远程仓库XXX下载到当前目录下

  1. git checkout -b branch_name:创建并切换到branch_name这个分支
  2. git checkout branch_name:切换到branch_name这个分支
  3. git branch:查看所有分支和当前所处的分支
  4. git merge branch_name:创建新分支
  5. git push --set-upstream origin branch_name:设置本地的branch_name分支对应远程仓库的branch_name分支
  6. git push -d origin branch_name:删除远程仓库的branch_name分支
  7. git pull:将远程仓库的当前分支与本地仓库的当前分支合并
    • git pull origin branch_name:将远程仓库的branch_name分支与本地仓库的当前分支合并
  8. git branch --set-upstream-to=origin/branch_name1 branch_name2:将远程的branch_name1分支与本地的branch_name2分支对应
  9. git checkout -t origin/branch_name: 将远程的branch_name分支拉取到本地

四、 Git命令整理分类

全局设置

git config --global user.name xxx:设置全局用户名,信息记录在~/.gitconfig文件中

git config --global user.email [email protected]:设置全局邮箱地址,信息记录在~/.gitconfig文件中

git init:将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中

常用命令

git add XX:将XX文件添加到暂存区

git commit -m "给自己看的备注信息":将暂存区的内容提交到当前分支

git status:查看仓库状态

git log:查看当前分支的所有版本

git push -u (第一次需要-u以后不需要) :将当前分支推送到远程仓库

git clone [email protected]:xxx/XXX.git:将远程仓库XXX下载到当前目录下

git branch:查看所有分支和当前所处分支

查看命令

git diff XX:查看XX文件相对于暂存区修改了哪些内容

git status:查看仓库状态

git log:查看当前分支的所有版本

git log --pretty=oneline:用一行来显示

git reflog:查看HEAD指针的移动历史(包括被回滚的版本)

git branch:查看所有分支和当前所处分支

git pull :将远程仓库的当前分支与本地仓库的当前分支合并

删除命令

git rm --cached XX:将文件从仓库索引目录中删掉,不希望管理这个文件

git restore --staged xx:将xx从暂存区里移除

git checkout — XX或git restore XX:将XX文件尚未加入暂存区的修改全部撤销

代码回滚

git reset --hard HEAD^ 或git reset --hard HEAD~ :将代码库回滚到上一个版本

git reset --hard HEAD^^:往上回滚两次,以此类推

git reset --hard HEAD~100:往上回滚100个版本

git reset --hard 版本号:回滚到某一特定版本

远程仓库

git remote add origin [email protected]:xxx/XXX.git:将本地仓库关联到远程仓库

git push -u (第一次需要-u以后不需要) :将当前分支推送到远程仓库

git push origin branch_name:将本地的某个分支推送到远程仓库

git clone [email protected]:xxx/XXX.git:将远程仓库XXX下载到当前目录下

git push --set-upstream origin branch_name:设置本地的branch_name分支对应远程仓库的branch_name分支

git push -d origin branch_name:删除远程仓库的branch_name分支

git checkout -t origin/branch_name 将远程的branch_name分支拉取到本地

git pull :将远程仓库的当前分支与本地仓库的当前分支合并

git pull origin branch_name:将远程仓库的branch_name分支与本地仓库的当前分支合并

git branch --set-upstream-to=origin/branch_name1 branch_name2:将远程的branch_name1分支与本地的branch_name2分支对应

分支命令

git branch branch_name:创建新分支

git branch:查看所有分支和当前所处分支

git checkout -b branch_name:创建并切换到branch_name这个分支

git checkout branch_name:切换到branch_name这个分支

git merge branch_name:将分支branch_name合并到当前分支上`

git branch -d branch_name:删除本地仓库的branch_name分支

git push --set-upstream origin branch_name:设置本地的branch_name分支对应远程仓库的branch_name分支

git push -d origin branch_name:删除远程仓库的branch_name分支

git checkout -t origin/branch_name 将远程的branch_name分支拉取到本地

git pull :将远程仓库的当前分支与本地仓库的当前分支合并

git pull origin branch_name:将远程仓库的branch_name分支与本地仓库的当前分支合并

git branch --set-upstream-to=origin/branch_name1 branch_name2:将远程的branch_name1分支与本地的branch_name2分支对应

stash暂存

git stash:将工作区和暂存区中尚未提交的修改存入栈中

git stash apply:将栈顶存储的修改恢复到当前分支,但不删除栈顶元素

git stash drop:删除栈顶存储的修改

git stash pop:将栈顶存储的修改恢复到当前分支,同时删除栈顶元素

git stash list:查看栈中所有元素

标签:git,name,05,仓库,--,Git,branch,Linux,分支
From: https://www.cnblogs.com/keyongkang/p/16856696.html

相关文章

  • 每次 git 都需要输入用户名和密码的解决办法
    在终端依次输入下面两句命令:gitconfig--globalcredential.helperstoregitpull/gitpush(第一次输入,后续就不用再次数据)push/pull你的代码,这时会让你输入......
  • 04_Linux完全卸载安装Mysql
    1.Linux环境完全卸载mysql相关文件:完全卸载mysql相关文件:      yumremovemysqlmysql-servermysql-libscompat-mysql      rm-rf/var/......
  • linux 升级内核版本
    #安装最新的内核#我这里选择的是稳定版kernel-ml  如需更新长期维护版本kernel-lt yum --enablerepo=elrepo-kernel install kernel-ml#查看已安装那些内核r......
  • Linux 下安装 Apache 并进行初步配置
    实验环境:Linux5.19.13-arch1-1konsole22.08.2apache2.4.54-2一.概述ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用......
  • 【Linux】4.实用指令
    1.指定运行级别2.切换指定运行级别3.帮助指令3.1man 获得帮助信息查看ls的帮助信息3.2help指令4.文件目录类4.1查看当前目录指令pwd4.2切换文件目录cd4.......
  • git checkout到新的分支之后原来未提交的代码找回
    gitcheckout时遇到的问题当我们使用git进行代码版本管理时,如果本地有多个并行开发的需求的话,我们会时不时地切换不同的分支。当我们基于当前分支做了一些改动,但是并没有......
  • linux硬盘lvm管理格式化和扩展、挂载
    一:相关概念1:物理卷:通常一个分区或者一个硬盘就可以建立一个物理卷,物理卷的最小单位是PE,一般默认是4MB。2:卷组:将多个物理卷组合到一起,成为一个卷组。3:虚拟卷:其实就是在......
  • git小教室
    说明"~"跟"^"区别^caret~tildagitcheckoutHEAD^^^和gitcheckoutHEAD~3等价,都代表当前版本的前3个版本区别在于3和~3代表不同概念,3代表回退一个版本,以第三......
  • git安装
    1、地址https://git-scm.com/downloadshttps://npm.taobao.org/mirrors/git-for-windows/ 2、下载 基础版本和便携版本 3、安装第一种:“仅从GitBash使用G......
  • Linux限制登录与密码
    Linux限制登录与密码设置登录次数[root@master0~]#head/etc/pam.d/password-auth#%PAM-1.0#Thisfileisauto-generated.#Userchangeswillbedestroyedth......