git的简单操作

本文详细介绍了Git的基本概念、工作流程、配置及常用命令,包括如何创建和切换分支、合并分支、解决推送问题。同时,讲解了git stash用于暂存更改的功能,以及如何处理git rebase过程中遇到的问题。此外,还提到了.gitignore文件的作用和GitHub代码迁移的步骤。
摘要由CSDN通过智能技术生成

目录

什么是git

git的基本工作流程

git使用前的配置

git的基础命令

git的分支命令

暂时保存更改

git stash

git stash save '注释'

git stash pop

git stash drop stash@{$num}

git stash clear

git stash show

git 使用时出现的问题

git 推送提示 Enter passphrase for key '/Users/shuidi/.ssh/id_rsa'

git rebase 合并分支为一个 commit 操作

 git的忽略清单

gitHub的代码迁移


什么是git

 git是版本管理工具,它可以将文档的更新记录保存下来,也可以在任意时间进行恢复

 是进行团队开发的重要工具

git的基本工作流程

在工作区编写代码,然后将数据存入暂存区,在暂存区提交数据至本地仓库或远程仓库

注意:提交仓库时的描述要详细,已便于后续的修改更加简单

git使用前的配置

配置提交人姓名:git config --global user.name 提交人姓名
配置提交人邮箱:git config --global user.email 提交人邮箱
查看git配置信息:git config --list 

注意:配置只需要进行一次,如果要进行修改,重复命令即可

git的基础命令

初始化一个本地仓库

git init

查看隐藏的.git文件夹

ls -ahattrib -r -h .git

提交单个修改文件进入暂存区

git add <文件名>  

提交所有修改的文件进入暂存区

git add .

查看git的状态

git status

暂存区提交至仓库

git commit -m "描述"

git commit --no-verify -m '描述'  不理会严格模式提交

查找工作区内容和仓库内容不同

git diff <文件名>

撤销工作区修改的命令

git checkout -- <文件名>

查询日志的命令

git log 

美化日志格式的命令 日志会显示在一行

git log --pretty=oneline

返回上一个版本

git reset --hard HEAD^

返回对应版本号 版本号没必要复制全

git reset --hard 版本号id

记录从创建的每一次的命令

git reflog

将文件从暂存区删除

git rm --cached <文件名>  

git的分支命令

创建分支的命令

git branch <分支名>

切换分支的命令

git checkout或switch <分支名>

创建并切换到新的分支

git switch -c <分支名>

git checkout -b 分支名

合并分支的命令(在主页面执行)

将会保存所有的 commit 记录

推荐使用

git merge <要合并的分支名称

合并分支的命令  不会保存 commit 记录git merge --squash 分支名

删除分支的命令(在主页面执行)

- D 强制删除

git branch -d <分支名>

单独拉取远程指定分支 

git clone -b 远程分支名 仓库地址

本地已有项目下拉取远程分支

会自动同步远程分支

git checkout  -b本地分支 origin/远程分支名

向远程仓库的对应分支提交代码

没有对应分支会自动创建

git push -u origin 分支名

或者 git push origin 分支名

本地修改分支名称

只有本地可以修改,远程分支删除重建

git branch -M 旧名称 新名称
删除远程仓库分支

git push --delete 远程分支名

git push origin --delete <branch_name>

强制上传覆盖git pull origin 分支名 --allow-unrelated-histories
设置 gitHub 密钥ssh-keygen -t rsa -C "gitHub邮箱"
查看密钥先 cd ~/.ssh  之后 ls

暂时保存更改

在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。

暂时保存更改,不会暂存新建文件,有新建文件的情况下

先 git add 暂存后在执行该命令

git stash

添加注释的暂时保存更改

git stash save '注释'

恢复最近一条的暂时保存更改

推荐只有一个暂存时使用

git stash pop

恢复指定的一个版本git stash apply stash@{0}
查看所有暂存内容git stash list
移除指定暂存

git stash drop stash@{$num}

移除全部暂存

git stash clear

查看差异

git stash show

git 使用时出现的问题

git 推送提示 Enter passphrase for key '/Users/shuidi/.ssh/id_rsa'

原因:在设置密钥时设置了密码

解决方式:可以更改密码为空,或重新设置密钥

更改密码指令: ssh-keygen -p -P "旧密码" -N '' -f ~/.ssh/id_rsa

重新设置密钥指令:ssh-keygen -t rsa -C ''gitLab邮箱

git rebase 合并分支为一个 commit 操作

1. 首先需要在当前分支上合并主分支最新代码,并推送至仓库

git merge --squash master
git add .
git commit -m ''
git push

2. 执行 rebase 操作

git rebase -i <master最新的提交记录>

 3. 此时终端进入交互页面,将除最早的一个提交之外,其余更改为 f

     操作指令:i 进入编辑  ESC 退出编辑  :wq 保存并退出

4.如果出现冲突,解决冲突后

git add .
git rebase --continue

5. 执行后续操作

git push -f
或者 
git push -f origin 远程分支名

 6. rebase 出现差错,取消rebase

git rebase --abort

git的忽略清单

.gitignore文件里的文件名或文件夹是不会被拉取到git的

gitHub的代码迁移

B仓库是一个空仓库,除了默认的master分支,没有任何分支。把A的branch1迁入B仓库,B也就有branch1

1 将需要迁移的A仓库的对应分支的代码拉下来,执行

// origin2 为随意起的名字,不鱼分支名重复即可
git remote add origin2 master

2 链接B仓库地址

git remote set-url origin2 B仓库的ssh地址

3 推送分支

git pull
// dev 是B的分支名,原本没有即可,会自动创建
git checkout -b dev
git push origin2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值