#########################################
新建项目:(windows) 背景知识: 基础设置: git config --global core.autocrlf false #避免Windows的换行符问题 git config --global user.name "John Doe" git config --global user.email johndoe@example.com git config --global merge.tool vimdiff git config --global mergetool.prompt false git config --list git config user.name git help config 使用vimdiff解决冲突: https://blog.rex-tsou.com/2018/11/%E7%94%A8-vimdiff-%E8%A7%A3-git-%E8%A1%9D%E7%AA%81/ https://blog.csdn.net/redguardtoo/article/details/9076961 https://www.cnblogs.com/michael-xiang/p/10465857.html git config --global merge.tool vimdiff #设置解决冲突的工具 git config --global mergetool.prompt false #避免每次运行git difftool都有提示信息 git config --global mergetool.keepBackup false #默认会生成以 *.orig 为扩展名的备份文件 git mergtool :buffers #获取窗口编号 :diffget 3 #使用指定的窗口中得到内容代替merged中的内容 :diffupdate #刷新一下 :xa # 保存退出,git只关心merged中的内容,其余的会自动忽略 commit 生成 SSH Key: mkdir ~/.ssh ssh-keygen -t rsa -C "xxx@163.com" clip < ~/.ssh/id_rsa.pub # 内容复制到剪切板中 公钥复制到GitHub上即可 ssh -T git@github.com #测试sshkey连接 .gitignore GitHub创建仓库时可以生成,也可以本地创建 和团队项目保持同步: git remote add upstream git@github.com:xxx/xxx.git git fetch upstream git merge upstream/dev 根据现有项目,改成灵活配置的方式 创建新项目 1.远程仓库 创建新仓库 .gitignore,README,不需要证书许可 创建dev分支 2.本地仓库 git clone git@github.com:xxx/xxx.git git checkout -b dev origin/dev
#########################################
.gitignore
删除本地版本库及本地文件
git rm -r -f .idea
本地及远程版本回退
git reset --hard 279bded4
git push -f origin master
设置upstream
git remote add upstream https://github.com/zhongyinhei/yct_worker.git
git fetch upstream
git merge upstream/dev
删除本地分支
git branch -D xjinjin-master
#########################################
接受项目邀请合作开发,在分支工作
https://www.cnblogs.com/schaepher/p/4933873.html
github怎么邀请合作者加入到自己的项目-百度经验:
https://jingyan.baidu.com/article/948f5924f43f47d80ff5f9f9.html
git使用总结:
https://segmentfault.com/a/1190000015798490
冲突解决:
介绍:项目有两个分支master和dev开发分支,dev开发完新功能后remote和upstream都更新完成,现在需要把新功能merge到master上做docker镜像部署到生产环境。
如下:merge时发生conflict,需要手动解决
git mergetool 回车后进入编辑环境注意观察分为 修改前,修改后,remote 保留一个版本即可
git commit -m "conflict"
git push 在GitHub上提交到upstream上即可
完成
#########################################
提前准备好的东西
https://gitee.com/或者github
码云 注册好创建一个测试仓库
git安装
Windows下安装: 自行百度
Linux安装
Yum install git
工作区--暂存区--本地仓库--远程仓库
先做远程仓库,在做项目
分布式和集中式 git&svn
Win10下举例
安装好后 打开git bash
全局配置
Git config --global user.name “徐金金”
Git config --global user.email “xxxx@163.com”
本地代码管理
Cd /f
Mkdir gitproject
Cd gitproject
Git init #初始化git仓库
增:
Vim a.py
Git status 查看状态
Git add a.py 单个文件
git add . (提交所有) 暂存区
git add --all
Git commit a.py -m “注释:新加一个文件” 单个文件 本地仓库
git commit -m "test"
Git commit 提交多个文件
远程仓库:
码云,git
创建远程仓库
本地仓库关联远程仓库 origin是远程仓库的别名
Git remote add origin https://gitee.com/jinjinxu/test.git
Push到远程仓库 ps:需要验证账号密码,就是登陆码云的账号密码
Git push origin master
git push
#查看远程
Git remote
Git remote -v
删除远程仓库
git remote remove 远程地址
Git remote remove origin
添加远程仓库
Git remote add 别名 远程仓库地址
Git remote add origin https://gitee.com/jinjinxu/test.git
修改远程仓库
Git remote rename 旧名称 新名称
Git remote rename origin neworigin
从远程仓库删除
Git rm c.py 删除
Git commit 或者 git commit c.py -m “注释” 本地仓库
Git push origin master 远程仓库
查看日志
Git log #查看整个项目的日志
Git log file #查看单个文件的日志
Git log . #查看本目录日志
Git reflog #查看简略版
版本切换
Git reset --hard “head^^^” #几个^符号代表回退几个版本 不建议用
Git reset --hard 2580d
分支管理 一般在分支上工作
Git branch 查看分支
Git branch dev 创建分支
Git checkout dev 切换分支
Git merge dev 合并分支
Git push orgin dev 提交到远程分支
Git merge dev 合并到master 在主分支上才能执行此命令
多人协同
把小明拉入项目
项目--管理--项目组成员管理--开发者--添加项目组成员--输入小明
新人加入流程 到一个干净的目录里执行:
不需要git init
Git clone https://gitee.com/jinjinxu/test.git
Git branch dev 到相应的分支工作即可
冲突问题
Git pull origin dev 更新最新 push之前先pull一下
真冲突的话 手动解决 删除一个留一个
公钥登录 免密登录 个人公钥 项目公钥
Sshkey 生成 公钥和私钥 公钥放在git上即可
Ssh-keygen -t rsa -C “xxxx@163.com”