Git的使用和配置SSH

it2024-04-17  49

Github的快速拉取配置

Git场景应用

-1.mkdir repository cd repository git init 0.新建oneoaas.com, git clone -b report http://git.aioper.cn/product/oneoaas.git Monitor (从-b report分支拉取数据 Monitor增加一级目录) 1.git add . 2.git commit -a -m '增加了feature5分支'#添加并提交本地暂存的修改 3.git push -u origin master #将当前分支合并到远程分支(-u 提交全部 master主干的名字) 4.git pull origin report(将远程分支与当前分支合并) git pull origin dev:master 将远程的dev分支与本地master分支合并 5.git checkout -b dev//创建本地分支并切换到新创建的分支(git branch dev/git checkout dev) 6.git branch -d branch1//删除本地分支 7.git push origin report_wahaha//本地分支推送到远程 clone是将一个库复制到你的本地,是一个本地从无到有的过程,pull是指同步一个 在你本地有版本的库内容更新的部分到你的本地库

Git常用命令

1.Select the type of change that you’re committing 选择改动类型 () 2.What is the scope of this change (e.g. component or file name)? 填写改动范围 () 3.Write a short, imperative tense description of the change: 写一个精简的描述 () 4.Provide a longer description of the change: (press enter to skip) 对于改动写一段长描述 () 5.Are there any breaking changes? (y/n) 是破坏性修改吗?默认n (

) 6.Does this change affect any openreve issues? (y/n) 改动修复了哪个问题?默认n ( )

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0eqMhes-1603251879633)(./assets\aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X2pwZy9KZExrRUk5c1pmY2ExZzVpYjZzZVk1U2ZLR1ZzMWJhc1RCVGh3UzdpY3htWm1vMXBzbVRpYkhPSW8wVE5OY1p2UjNZY1lPcWZtNEQ2bXFEU2NMMkpFb0dZdy82NDA.jpg)]

Git常用命令

git update-git-for-windows //git升级 git init //初始化本地git环境 git add documentation/*.txt //添加documentation目录及其子目录下所有*.txt文件的内容 git add git-*.sh //将所有 git-*.sh 脚本内容添加 git add . //将所有修改或删除的文件添加到暂存区 git clone XXX//克隆一份代码到本地仓库 git clone -b relea7 https://github.com.cnpmjs.org/Tencent/bk-cmdb.git configcenter git pull //把远程库的代码更新到工作台 git pull --rebase origin master //强制把远程库的代码跟新到当前分支上面 git fetch //把远程库的代码更新到本地库 git commit -m "comments here" //把stage中的修改提交到本地库 git push //把本地库的修改提交到远程库中 git branch //查看当前的分支 git branch -r/-a //查看远程分支/全部分支 git branch -d branch1//删除本地分支 git checkout master/branch //切换到某个分支 git checkout -b test //新建test分支 git checkout -d test //删除test分支 git push origin --delete <BranchName> //删除远程分支 git merge master //假设当前在test分支上面,把master分支上的修改同步到test分支上 git merge tool //调用merge工具 git stash //把未完成的修改缓存到栈容器中 git stash list //查看所有的缓存 git stash pop //恢复本地分支到缓存状态 git blame someFile //查看某个文件的每一行的修改记录()谁在什么时候修改的) git status //查看当前分支有哪些修改 git log //查看当前分支上面的日志信息 git diff filename //比较当前文件和暂存区的差异 git diff //输出全部被Git跟踪文件的差异 git diff --cache //查看已经add但是没有commit的内容,比较暂存区和版本库的差异 git diff HEAD //自上次提交以来工作树中的更改 git diff --staged//比较暂存区和版本库的差异 git remote remove origin # 删掉原来git源 git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件 git remote -v #列出关联到的远程仓库的具体信息 git tag -d v0.9 //删除本地标签 git tag //列出所有标签 、、、、、、新增、、、、、、 git diff filename//比较当前文件和暂存区的差异 git diff --cached//比较暂存区和版本库的差异 、、、、、、、、git Commit 回退版本、、、、、、、、、、 git checkout . //把当前目录所有修改的文件,都恢复到上次提交后的样子 git reset HEAD //放弃所有文件修改 git reset HEAD~ //恢复本次的Commit提交 -------------- git reset HEAD filename//放弃已经add的文件命令 git reset commit_id //回退版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件 git reset --hard f2039f508c8fd58 //回退版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换 版本可以从git仓库查看也可以从本地工具查看 git reset --hard HEAD //撤销本地未提交修改------------- 第二步:git push -f -u origin master //强制推送到远程仓库 git push -f //强制推送到远程分支 git log/git reflog 注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支 自己的分支回滚直接用reset 公共分支回滚用revert 错的太远了直接将代码全部删掉,用正确代码替代

Git SSH客户端和服务端的配置

在使用git时,如果用的是HTTPS的方式,则每次提交,都会让输入用户名和密码,久而久之,就会感觉非常麻烦,那么该如何解决呢?

1.获取id_rsa.pub 方法一:windows +R cmd 输入ssh-keygen然后一路enter键 生成文件路径为:C:\Users\Admin\.ssh 方法二:用git bash也可以 2.打开id_rsa.pub 把里面的内容复制到Gitlab设置中的SSh即可 3.另外SSH没有设置则克隆不了,需要用HttP的方式 git config --list //查看配置清单 git config --local user.name "jiaohaili" git config --local user.email "haili.jiao@honops.com" git config user.name//查看本地的用户名 git config user.email//查看本地的邮箱 清除Git的残留文件: C:\Users\Admin\.gitconfig 控制面板-用户-管理Windows凭据 问题: 在搭建全分布式时出现问题:The authenticity of host ‘0.0.0.0 (0.0.0.0)’ can’t be established. 原因是仅设置了单向免密码登录 应该设置成双向免密码登陆 执行命令:执行ssh -o StrictHostKeyChecking=no 192.168.0.xxx 就OK

关闭Issues

git commit -m “Closes #3”

git commit -m “Fix screwup, fixes #12”

增加动态生成内置模型,Closes #11 fix #11

Git问题修复

1.解决git冲突造成的“Please move or remove them before you can merge”

The following untracked working tree files would be overwritten by checkout

git clean -d -fx "" git clean -d -fx

其中: x -----删除忽略文件已经对git来说不识别的文件 d -----删除未被添加到git的路径中的文件 f -----强制运行

git rm -r -f --cached ./ (删除缓存)

git config --global core.autocrlf true(Git可以在提交时自动地把行结束符CRLF转换成LF)

Git 上传文件时少了,原因是在ignore里面把它忽略掉了

Branch和Tag

tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线; tag 是 Git 版本库的一个快照,指向某个 commit 的指针。 稳定版本备份用tag,新功能多人开发用branch(开发完成后merge到master)。 tag就是一个只读的branch,一般为每一个可发布的里程碑版本打一个tag

tag 和 branch 的相互配合使用,有时候起到非常方便的效果,例如 已经发布了 v1.0 v2.0 v3.0 三个版本,这个时候,我突然想不改现有代码的前提下,在 v2.0 的基础上加个新功能,作为 v4.0 发布。就可以 检出 v2.0 的代码作为一个 branch ,然后作为开发分支。

注意:手动删除分支可以重新打版本

注意在设置–repository–里面的分支保护

Git和Tapd的关联提交

git的设置地方:settings/integrations

tapd的设置地方:项目设置——应用设置——Gitlab源码设置——复制相关信息即可

Windows 10 修改git密码为 控制面板 凭据服务那里

最新回复(0)