【Git 快速了解】

本文介绍了Git的基本概念,包括分布式和集中式版本控制的区别,以及Git的安装、配置。接着详细阐述了如何创建本地仓库,添加、修改和删除文件,以及提交历史、分支管理和合并。此外,还涉及了GitHub的使用,如关联远程仓库、推送代码和分支管理。最后,提到了解决冲突和一些高级命令,如合并多次commit。
摘要由CSDN通过智能技术生成

Git简单了解

一、控制系统

	分布式版本控制系统 git 
	集中式版本控制系统 svn cvs

二、安装Git

sudo apt install git
sudo apt search git

三、配置git环境

参数:–globle :长命令表示配置整个git环境
git config --global user.name “你的用户名”
git config --global user.email “你的邮箱”
git config --global --list
配置rsa秘钥
ssh-keygen -t rsa -C “你的邮箱”
查看公共秘钥
cat ~/.ssh/id_rsa.pub

四、创建本地仓库

本地仓: git init //master
完整流程:
mkdir test //创建空目录
cd test //进入目录
git init //初始化当前仓库
初始化后会生成git的配置文件目录,需要通过ls -ah查看隐藏目录
/home/stephenzhou/test/.git

五、新建文件添加到本地仓库

touch test.c //新建文件test.c
git add test.c // 将文件添加到缓存区
git commit -sm " add test.c" // 提交到本地仓
git commit -sm 中的-m 命令用来简写我们描述的信息“add test.c“
该命令会生成40位的哈希值,用于作为id。

六、改写提交:

git add test.c
git commit -m “add new file ‘test.c’”
git commit --amend //重写上一次的提交信息
i 命令进入编辑
ctrl + o: 完成修改后按下

七、查看历史提交日志

git log
git log --pretty=oneline //简介输出日志信息

八、回滚代码仓库

git reset --hard^ //退回到当前仓的上一个版本
git reset --hard~3 //退回到当前仓的前三个版本

git reset --soft //将头指针恢复, 缓存区和工作区内容不变化
git reset --mixed //将头恢复掉,缓存区内容丢失,工作区内容不变
git reset --hard //一切全都恢复,头、缓存区消失,代码恢复到以前的状态

九、查看当前仓库状态

git status //查看提交之后文件是否做了改动

十、修改缓存区内容

git add --all //将所有改动文件添加到缓存区,包括删除的文件
git add . //同 git add --all ,但不会记录删除操作。
操作完成后需要git commit提交代码到本地仓

十一、将文件撤回到最近一次修改的状态

git checkout --file //checkout:切换参数,通常用来切换分支仓库

十二、查看单个文件可回滚版本:

git log filename

git log min.c
git reset Id min.c
git add min.c
git commit -m “new”

十三、删除文件

rm a.c
git add -a
git commit -m “rm a.c”

git rm a.cd
git commit -m “rm a.c”

十四、查看提交历史

git reflog //查看当前版本库的提交历史

十五、Git 基本组成框架

Workspace:开发之者工作区
Index/Stage:暂存组/缓存区
Repository: 仓库区(本地仓库)
remote:远程仓库

十六、git rm 后恢复文件

git rm 会将文件放入缓存区,且没有使用commit提交的情况下

git rm d.c //删除一个文件
git reset //重置缓存区
git checkout d.c //将文件取消操作

十七、创建分支

git checkout -b dev //创建分支,创建完成后自动切换
git branch //查看当前分支(HEAD的指向)
其中
git checkout -b dev
等价于
git branch dev //创建分支,但不会切换分支
git checkout dev //切换分支
git checkout master

十八、合并分支

git checkout master //切换到需要合并的分支上master
git merge dev //合并dev分支到master仓

十九、查看分支

git branch -a //查看当前所有分支

二十、删除分支

git branch -D branchname //删除本地分支
git push origin --delete remotename //删除远程分支

二十一、github将本地仓库关联到远程仓库

git remote add origin orginLink
git push -u origin master //推送到远程,
其中 -u 第一次提交加上即可,后面可以不用添加,只有合并记录,没有历史记录,也不能切换分支

二十二、将远程仓库关联到本地和拉去指定分支、切换远程分支

git clone 分支链接
git clone -b master //可以用来指定分支

二十三、github 提交本地仓库到远程仓库

git add //提交到缓存区
git commit -m //提交到本地仓库
git push origin master //推送到远程仓库

二十四、修改分支名称

git branch -m 分支名 新的分支名

二十五、保存当前工作分支

git stash //保存当前工作状态
git stash list //查看当前存储了多少工作状态
git checkout main //切换到其他分支

git stash pop //切回刚才的分支,刚刚的分支中状态恢复
git stash apply //删除列表中的内容默认恢复第一个
git stash apply list名称 //恢复到指定的内容
git stash drap list名称 //移除指定的内容
git stash clear //移除所有list
git stash show //查看栈中最新保存的shash与当前目录的差异

二十六、将别的分支修改转移到自己的分支

git cherry-pick 分支名 //会将master改动的代码合并到我们分支

二十七、远程删除分治后本地git branch -a 依然看得到的问题

git remote show origin //查看远程仓库信息
git remote prune origin //刷新本地分支仓库

二十八、强制合并分支

git merge master --allow-unrelated-histories

二十九、拉取远程所有分支

git fetch //拉取全部分支
git fetch XXX //XXX分支名称,拉去指定分支

三十、子模块管理

git submodule add link //添加子模块
git submodule update //子模块需要手动执行命令进行更新

三十一 git 其他命令

git branch -D //强制删除分支
git diff //查看不同分支差异
git remote -V //查看当前仓库名称
git log --graph --pretty=oneline --abbrev-commit //查看日志
git switch -b //切换分支与新增分支
git switch -c //切换新分支
git restore file //撤销文件的提交与修改

三十二、搭建本地git服务器

sudo apt install git //在debian/linux下使用此命令
git adduser git //仙剑一个用户专门管理git服务的账户
su git //切换到目录下
ssh-keygen -t rsa -C "你的邮箱” //配置好sshkey,生成.ss目录
touch authorized_keys //.ssh目录里查看没有则创建

sudo git init --bare txt.git //创建一个git仓库
vim etc/sudoers //进入权限目录
git ALL=(ALL:ALL)ALL //修改权限
sudo chown -R git:git txt.git //修改所熟组
vim /etc/passwd //安全考虑,禁止ssh登录
找到git: x:1001:1001;,:/home/git:/bin/bash
改为git: x:1001:1001;,:/home/git:/bin/git-shell
sudo apt install openssh-server //服务器安装ssh服务,git环境命令

三十三、git 命令合并多次commit

git log // 查看提交信息
git rebase -i HEAD~3 // 查看要提交的commit的此时
git add . // 重新提交
git rebase --continue // 查看提交是否存在冲突
git push -f // 强推到romote进行合并

三十四、git 更新代码解决冲突

git clone 远端仓链接
git remote -v
git remote add upstream https://gitee.com/openharmony/XXX
git fetch upstream
git merge upstream/master
git status
git log
git push -f
git push origin master:master -f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值