Git的使用和配置SSH

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值