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 (
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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密码为 控制面板 凭据服务那里