首页 > 其他分享 >Git使用

Git使用

时间:2024-03-11 14:12:10浏览次数:25  
标签:git -- dev Git 使用 commit config 分支

1、设置git用户名和邮箱

(1) 用户名和邮箱地址是本地git客户端的一个变量,每次commit都会用用户名和邮箱纪录。github的contributions统计就是按邮箱来统计的。

$ git config --global user.name "${你的用户名}"
$ git config --global user.email "${你的邮箱}"

(2) 通过下述命令可以修改用户名与密码

$ git config --global --replace-all user.name "${你的用户名}"
$ git config --global --replace-all user.email "${你的邮箱}"

(3) 可以通过git config --list来查看本地的git配置信息

$ git config --list

2、如何不需要密码推送和拉取代码?

需要配置一对key,请按照以下步骤操作:
(1) 生成SSH Key
在某Linux环境中运行以下命令,注意:后面设置成自己的邮箱,然后一路回车。

$ ssh-keygen -t rsa -C "${你的邮箱}"

(2) 然后打开~/.ssh/id_rsa.pub文件,复制其中的内容

$ cat ~/.ssh/id_rsa.pub

(3) 打开github/gitlab或其他并登录,打开右上角设置
Settings-->SSH Keys--->Add an SSH key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮,之后推送或者拉取代码就不需要密码了。

3、拉取代码

$ git clone ${git仓库地址}

4、构建自己的分支branch

几乎每个版本控制系统都是以某种形式支持分支,使用分支意味着可以从开发主线上分离开来,然后不影响主线的同时继续工作。
(1) 创建分支:

$ git branch ${branchname}

(2) 切换分支

$ git checkout ${branchname}

(3) 创建分支的同时切换过去:

$ git checkout -b ${branchname}

(4) 通过git branch或在git branch -a可以查看所有的分支,星号标识的地方为当前所处的分支,再配合git checkout指令进行相互切换。

5、git add添加自己需要提交的内容到暂存区

$ git add ${your files}
$ git status # 查看新提交内容的文件信息

6、git commit将暂存区中的内容添加到本地仓库

通过git commit -m '说明此次提交内容的详细修改情况'

7、git push将本地仓库上传到远程仓库去

$ git push origin ${your branch name}

8、前往github/gitlab中发起合并merge请求

(1) 点击右侧New merge request发出请求
(2) 选择你自己提交用的分支
(3) 等待管理员统一合并请求后,会收到合并成功邮件提醒

9、其他常用指令

$ git pull origin lsq_dev # 把远程dev分支上的内容都拉取到本地了
$ git push origin lsq_dev # 把本地分支推到远程分支#
$ git fetch --all
$ git reset --hard origin/master # 放弃本地修改,使用服务器代码覆盖本地的Git命令如下
$ git pull
$ git log -n 3 --stat     # 查看最近3次提交的详细信息
$ git reset --hard 版本号    # 回退到指定版本
$ git push origin lsq_dev --force  # 强制提交当前版本号,以达到撤销版本号的目的
$ git log -p -2 # 最近两次差异
$ git diff  # 未提交的文件不同之处
$ git branch -D lsq_dev # 删除本地分支
$ git push origin --delete lsq_dev # 删除远程分支
$ git fetch  # 将本地分支与远程保持同步

11、QA

(1) git status不能显示中文问题

$ git config --global core.quotepath false

(2) git rebase -i master的时候,自动弹出了nano 编译器,执行Ctrl+X就自动结束了,查了下,需要修改默认的编辑器,方法如下:

$ git config core.editor vim

(3) 修改最后一次注释(就是最新的一次提交):

$ git commit --amend

(4) 修改之前的某次注释

$ git rebase -i HEAD~2  # 最后的数字2指的是显示到倒数第几次 比如这个输入的2就会显示倒数的两次注释(最上面两行)

(5) 你想修改哪条注释 就把哪条注释前面的pick换成edit,内容先不用修改。将pick修改成fixup(保留应用,丢弃commit描述)或者squash(保留应用,合并commit描述)等关键字。注意不能将第一条也就是最近的一条commit给pickup或者squash,这样它就找不到之前的commit进行合并,然后就会报出错误。
一次一次重新再修改

$ git commit --amend
$ git rebase --continue

(6) git打补丁到另外一台机器上提交

$ git reflog
$ git show bdf7f3b6
$ git show bdf7f3b6 > 210708_perception.patch
$ vi 210708_perception.patch
$ scp 210708_perception.patch ${username}@${remote_ip}:/home/
$ patch -p1 < 210708_perception.patch
$ head 210708_perception.patch
$ git push origin local_dev:local_dev

标签:git,--,dev,Git,使用,commit,config,分支
From: https://www.cnblogs.com/capybara-lsq/p/18065917

相关文章

  • 使用威联通做UPS server(NUT) 配置 linux和windows的 UPS client
     NetworkUPSTools(NUT)威联通设置1️⃣威联通使用usb线接入UPS2️⃣在设置中勾选“启用网络不间断服务器”,启用UPS服务器3️⃣把需要连入的设备IP加到列表里如下图所示配置linux以Ubuntu为例,其他使用NUT自行安装1️⃣安装NUTaptinstallnut#启动NUT生成默认......
  • git如何恢复本地未提交的代码?
    1.情景展示在实际开发过程中,遇到代码冲突,很正常,解决起来也简单。但是,我遇到的这种情况,却不常见在本地改了一周的代码,最后想要提交,为了不和别人提交的代码产生冲突,我们需要先更新,再提交。即使有冲突,也在本地解决好再提交。问题来了:更新完成以后,我本地的修改后代码全没了(ide......
  • 【触想智能】工业触摸显示器在户外使用需要注意哪些问题?
    工业显示器是智能制造领域应用比较广泛的电子产品,它广泛应用于工厂产线以及各种配套设备,在很大程度上提升了工厂的生产效率。工业显示器按触摸方式分,可以分为工业触摸显示器和非触摸工业显示器两种;按使用环境分,又可以分为室内工业显示器和户外工业显示器。由于室内和户......
  • uni-forms 和 uni-data-select 嵌套使用设定必填但初始化时不校验
    使用 uni-forms-item和 uni-data-select嵌套时,首先要注意的是:name=[]属性必须使用动态绑定,而且数组中的字符串必须和v-model的属性完全相同,如v-model="formatStationInfo.requiredSelect[index].curValue":name="['requiredSelect',index,'curValue']" :......
  • 如何使用screen解决ssh断连训练停止的问题
    screen是一个强大的终端多路复用器,允许你在一个SSH会话中运行多个终端任务,并且即使SSH连接中断,这些任务也能继续运行。这对长时间运行的任务或训练任务非常有用,如果在这样的任务中SSH链接断开,没有screen,你会丢失对任务的控制,而有了screen,你可以在链接恢复后接着控制之前的任务。......
  • 在Windows server 2012R2系统安装使用docker
    REF:https://blog.csdn.net/user_san/article/details/121037022需要进行配置,否则无法将端口映射出来,导致连接不上数据库。另外MYSQL8.0签权方式改变,无法通过navicat连接,需要修改ALTERUSER'root'@'%'IDENTIFIEDWITHmysql_native_passwordBY'123123';FLUSHPRIVILEGES......
  • github上十款热门cmdb项目分享
    github上十款热门cmdb项目分享原创静静和小沐沐IT运维技术圈2024-03-1110:07广东听全文图片 1.Snipe-IT简介:Snipe-IT是一个免费、开源的IT资产管理系统,用于跟踪资产、许可证、配件、耗材以及可借用的资产。它提供直观的界面,支持导入/导出功能,并且有强大的搜索和报告......
  • 搭建交换机模拟环境及SSH连接,华为NSP软件入门使用教程
    如果你是通过搜索搜到了这篇文章,那么一定是工作或者学习中需要用交换机,但是又没物理机测试学习,所以需要搭建本地的虚拟环境学习。这篇文章是我进行交换机命令入门学习写的,笔者之前也是网上搜索,关于交换机的内容实在太少了。所以记录下来,给后来者少走弯路1.华为ENSP软件下载官......
  • 教您如何使用API接口获取虾皮商品详情
    要使用API接口获取虾皮(Shopee)的商品详情,您需要遵循以下步骤:注册并获取API权限首先,您需要在Shopee开放平台注册账号,并创建一个应用。在创建应用的过程中,您需要填写相关信息,包括应用名称、应用描述等。提交应用后,Shopee会审核您的应用并决定是否授予API调用权限。获取API凭证......
  • 线程池的使用场景
    在实际开发中,线程池用于优化线程的使用,提高系统性能,减少线程创建和销毁的开销,以及提供更高的系统稳定性。下面将详细解析几个常见的线程池使用场景,并结合源码和代码演示进行说明。场景一:Web应用的并发请求处理Web应用通常需要同时处理多个用户的请求。为了不每个请求都创建一......