zoukankan      html  css  js  c++  java
  • git使用常见问题

    1、.gitignore文件不生效(如果先将项目添加的git仓库,后添加忽略文件,不清理git的缓存,忽略文件是不会生效的。)

    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'

    最后更新.gitignore文件再次提交

    2、不同分支合并或拷贝单个文件

    另外如果只想将feature分支的某个文件f.txt合并到master分支上。
    1: git checkout master
    2: git checkout --patch feature f.txt
    第一个命令: 切换到master分支;
    第二个命令:合并feature分支上f文件到master分支上,将feature分支上 f 文件追加补丁到master分支上 f文件。你可以接受或者拒绝补丁内容。即提示输y或者n

    如果只是简单的将feature分支的文件f.txt copy到master分支上;
    git checkout master
    git checkout feature /p/d/f.txt

    解释:
    y - 存储这个hunk
    n - 不存储这个hunk
    q - 离开,不存储这个hunk和其他hunk
    a - 存储这个hunk和这个文件后面的hunk
    d - 不存储这个hunk和这个文件后面的hunk
    g - 选择一个hunk
    / - 通过正则查找hunk
    j - 不确定是否存储这个hunk,看下一个不确定的hunk
    J - 不确定是否存储这个hunk,看下一个hunk
    k - 不确定是否存储这个hunk,看上一个不确定的hunk
    K -不确定是否存储这个hunk,看上一个hunk
    s - 把当前的hunk分成更小的hunks
    e - 手动编辑当前的hunk
    ? - 输出帮助信息

     3、git比较两个分支的文件的差异

    git diff branch1 branch2 --stat   //显示出所有有差异的文件列表
    git diff branch1 branch2 文件名(带路径)   //显示指定文件的详细差异
    git diff branch1 branch2                   //显示出所有有差异的文件的详细差异

    4、撤销修改
    git checkout -- "file_name" 将代码回退
    如果已add到暂存区 就回退到刚添加到暂存区的版本
    如果没add到暂存区 就回退到版本库的版本
    5、删除文件
    一般是从文件管理器将文件删除
    git status查看哪些文件被删除
    如果确实要删除该文件 就使用 git rm "file_name" 将该文件从版本库中删除
    如果是删错了 可以使用 git checkout -- "file_name" 将误删文件恢复到最新版本

    6、单个文件历史记录
    git log --oneline .a.txt
    7、单个文件回退到历史版本
    git reset 120a893 a.txt

    8、查看单文件工作区和版本库里面最新版本的区别(上下键查看,q是退出命令)
    git diff HEAD -- readme.txt

    9、在工作中,遇到一个问题,在git merge后,发生冲突,而当冲突较多的时候,逐个检查冲突,有的时候会遗漏一些文件,导致带有冲突标记的文件上传到了Git服务器上。
    使用以下命令可以快速检查是否还存在有带有冲突标记的文件。
    git diff --check

    10、删除本地分支

    git branch -d 分支名

    11、删除远程分支

    git push origin --delete 远程分支名称

    取消远程关联
    git remote remove origin
    从命令行创建一个新的仓库
    touch README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin http://10.0.0.63/SH/test_lib.git
    git push -u origin master
    从命令行推送已经创建的仓库
    git remote add origin http://10.0.0.63/SH/test_lib.git
    git push -u origin master

  • 相关阅读:
    iOS学习之自定义UItableViewCell
    iOS学习之UItableView
    iOS学习之懒加载
    iOS学习之根据文本内容动态计算文本框高度的步骤
    iOS学习之导航条NavigationControl的一些属性设置
    iOS: TableView如何刷新指定的cell 或section
    时间戳比较
    UIScrollView 去掉下面的滚动条
    iOS中navigationItem修改标题的颜色
    swift 下storyboard的页面跳转和传值
  • 原文地址:https://www.cnblogs.com/sung1024/p/11394258.html
Copyright © 2011-2022 走看看