git命令

提交本地仓库

1.git init  初始化仓库

(设置用户名和邮箱)

进入根目录 cd ~

查看用户名和密码  cat .gitconfig

删除/修改用户名和密码 vim .gitconfig

退出 命令行 esc :wq   :!q强制退出

git config --global user.email "234@qq.com"

git config --global user.name "name")

2.git status 查看状态

3.git add .  将工作区全部内容提交到暂存区
  ( git add 文件名  将单个文件上传提交到暂存区 )
  (git rm --cached 文件名从暂存区删除,恢复到工作区)
  
4.git commit -m 'feat:本次添加说明'

5.git reflog  查看提交所有版本,回退版本前提(git log 提交历史记录JK切换滚动条--向上向下)

6.git reset --hard '哈希值'  (回退到第几版本)   

Linux命令

mkdir  创建文件夹
touch  创建文件
`rm -rf 文件或文件夹名`  删除指定的文件或文件夹
ls -a  查看当前目录内的文件列表,包含隐藏文件
cd 路径  进入指定的目录
vim 文件名   修改文件/如果没有该文件则是新建文件
git log  查看提交历史记录
git log --pretty=oneline  每条记录只显示一行
git log --oneline  更简约格式
git reset --hard 哈希值    前进后退版本
git reset --hard HEAD^   后退版本 一个^代表后退一步
git reset --hard HEAD~n  后退版本  n代表后退几步
(rm -rf 删除文件后恢复文件:git reset --hard 哈希值)
git diff 文件名   工作区文件与暂存区文件进行对比
`git diff 要对比的本地仓库里文件的哈希值 文件名`   工作区文件与本地仓库文件进行对比 

单个文件不想提交至暂存区使用:
touch .gitignore
vim .gitignore
输入要跳过的文件名

配置CZ步骤

1.全局安装`Commitizen`
cnpm install -g commitizen

2.安装并配置 `cz-customizable` 插件
  1.cnpm i cz-customizable --save-dev
  2.添加以下配置到 `package.json ` 中
      "config": {
        "commitizen": {
          "path": "node_modules/cz-customizable"
        }
      }
      
3.项目根目录下创建 `.cz-config.js` 自定义提示文件
    module.exports = {
      // 可选类型
      types: [
        { value: 'feat', name: 'feat:     新功能' },
        { value: 'fix', name: 'fix:      修复' },
        { value: 'docs', name: 'docs:     文档变更' },
        { value: 'style', name: 'style:    代码格式(不影响代码运行的变动)' },
        { value: 'refactor',name: 'refactor:      重构(既不是增加feature,也不是修复bug)'},
        { value: 'perf', name: 'perf:     性能优化' },
        { value: 'test', name: 'test:     增加测试' },
        { value: 'chore', name: 'chore:    构建过程或辅助工具的变动' },
        { value: 'revert', name: 'revert:   回退' },
        { value: 'build', name: 'build:    打包' }
      ],
      // 消息步骤
      messages: {
        type: '请选择提交类型:',
        customScope: '请输入修改范围(可选):',
        subject: '请简要描述提交(必填):',
        body: '请输入详细描述(可选):',
        footer: '请输入要关闭的issue(可选):',
        confirmCommit: '确认使用以上信息提交?(y/n/e/h)'
      },
      // 跳过问题
      skipQuestions: ['body', 'footer'],
      // subject文字长度默认是72
      subjectLimit: 72
    }
    
4.新建一个.gitignore文件,配置要跳过的文件(node_modules),保存退出
(若在命令框中操作,使用touch .gitignore新建文件,vim .gitignore配置要跳过的文件)

5.git add .

6.git cz选择 /  有些终端不支持  需要  winpty git cz

本地代码推送到远程仓库

使用https连接远程仓库

......
git add .   上传至暂存区
git commit -m '描述信息'  上传至本地仓库
git status 查看状态

进入github个人中心点击settings
点击右侧的 Developer settings
点击 Personal access tokens(个人访问令牌)
点击 Generate new token   创建一个新的令牌
设置 token 信息
得到生成的令牌


查看是否已有连接仓库  git remote -v (没有显示就是没有连接仓库,有提示代表已连接仓库)
若已有仓库可删除已连接仓库 git remote remove origin(仓库名)
复制远程仓库HTTPS地址
git remote add origin https://令牌号@github.com/MrsLvShu/testdemo.git
git remote -v  查看是否已建立连接
git push origin master  将本地代码上传至远程仓库

使用SSH连接远程仓库

......
git add .   上传至暂存区
git commit -m '描述信息'  上传至本地仓库
git status 查看状态

cd ~  进入根目录
ls -a  查看是否存在.ssh文件,若存在,先删除rm -rf
ssh-keygen -t rsa -C “邮箱”    创建SSH密钥
cat .ssh/id_rsa.pub       查看SSH公钥
复制SSH公钥
进入github个人中心点击settings
点击右侧的 SSH and GPG keys 
点击 New SSH Key    创建SSH密钥(将复制密钥粘贴)
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
SSH密钥配置过,后期无需再配置

查看是否已有连接仓库  git remote -v (没有显示就是没有连接仓库,有提示代表已连接仓库)
若已有仓库可删除已连接仓库 git remote remove origin(仓库名)
复制远程仓库SSH地址
git remote add origin (仓库)
git remote -v  查看是否已建立连接
git push origin master   将本地代码上传至远程仓库

将远程仓库的代码克隆本地

git clone  地址名

将远程仓库最新的代码拉到本地

前提是已经clone 代码 ,无需再次使用clone,
git pull origin master

另外一种将本地代码推送到远程仓库的方式

新建仓库
直接clone 仓库地址 

直接操作
git add .
git commit -m '描述信息'
git push origin master

Git分支操作

  1. 查看分支

    git branch -v  
    
  2. 创建分支

    git branch 分支名
    
  3. 创建分支并切换

    git checkout -b 分支名
    
  4. 切换分支

    git checkout 分支名
    
  5. 合并分支

    git merge 分支名
    
    b合并到a分支上:
    git checkout a  先切换至a分支
    git merge b     将B分支合并到a分支上
    
  1. 删除分支

    git branch -d 分支名
    
  2. 多人协同开发冲突问题

    原因:

    当多个人同一分支上, 操作了同一文件或者同一行代码,这个时候就会发生冲突

    当多个人在不同分支上, 操作了同一文件或者同一行代码,这个时候就会发生冲突

    解决:

     手动解决, 删除特殊的符合以及冲突的代码
    
     然后在重新提交就ok了
    

  1. 查看本地仓库和远程仓库是否建立连接

    git remote -v
    
  2. 将本地仓库和远程仓库建立连接

    git remote add 远程仓库地址别名 远程仓库地址          新建
    
    git remote set-url 远程仓库地址别名 远程仓库地址      更新修改 
    
  1. 删除本地仓库的远程仓库地址

    git remote remove 远程仓库地址别名
    
  2. 将远程仓库代码克隆本地

    git clone 远程仓库地址
    
  3. 将远程仓库最新代码拉到本地

    git pull 远程仓库地址别名 分支名
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • @(〓〓 iOS-实用技术)[代码管理 Git/SVN] 作者: Liwx 邮箱: 1032282633@qq....
    Liwx阅读 2,752评论 1 13
  • 简介 Git 作为分布式版本控制系统,基于去中心化的设计思想,在每个分布式节点上都保存有完整的版本,降低了对中心仓...
    zhipingChen阅读 549评论 0 3
  • Coding 初级教程(一)——用GitHub的GUI客户端对Coding的项目进行管理Coding 初级教程(二...
    顺情风阅读 774评论 0 0
  • bash入门(了解) bash是许多linux系统默认的shell(命令行工具)。 cmd和powershell是...
    夏日望天看云阅读 390评论 0 0
  • 总结 Git 版本管理 - 命令 代码提交删除及版本回退 git add readme.txt添加修改的文件,把文...
    丿小七阅读 299评论 0 0