zoukankan      html  css  js  c++  java
  • git 常用命令

    一 全局配置

    •  git config --gobal core.autocrlf false
    •  git config --global user.name "carlos"
    • git config --global user.email "1447675994@qq.com"
    • git init // 初始化一个仓库

    二 常用操作

    •  git add // 添加到缓冲区 可以加 参加 -A
    •  git status // 查看当前状态
    •  git commit -m "XXX" // 提交代码
    •  git diff // 查看不同
    •  git log // 查看日志
    •  git log --pretty=oneline
    •  git reset --hard HEAD^
    •  git rm 文件名(包括路径) 从git中删除指定文件 // 删除文件
    •  git reflog 记录你的每一次命令
    •  git checkout -- file可以丢弃工作区的修改
    •  git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令
    •  git reset HEAD file可以把暂存区的修改撤销掉
    •  git remote add origin git@server-name:path/repo-name.git要关联一个远程库;
    •  git push -u origin master 使用命令第一次推送master分支的所有内容
    •  git clone克隆一个本地库:
    •  git clone git@github.com:michaelliao/gitskills.git
    •  git checkout -b dev # 创建dev分支,然后切换到dev分支
    •  git branch命令会列出所有分支,当前分支前面会标一个*号
    •  git merge dev 把dev分支的工作成果合并到master分支上
    •  git branch -d dev 删除dev分支了
    •  git merge --no-ff -m "merge with no-ff" dev 合并分支代码 --no-ff参数,表示禁用Fast forward 这样,从分支历史上就可以看出分支信息。
    •  git stash Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    •  git stash apply 恢复,但是恢复后,stash内容并不删除
    •  git stash drop 来删除
    •  git stash pop,恢复的同时把stash内容也删了
    •  git branch -D feature-vulcan 强行删除
    •  Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法
    •  一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
    •   另一种方式是用git stash pop,恢复的同时把stash内容也删了

    三 标签

    •  git tag <name>就可以打一个新标签
    •  git tag查看所有标签
    •  git tag v0.9 6224937 #v0.9标签名 6224937 commit id
    •  git show <tagname> 查看标签信息 
    •  git tag -d <tagname> 删除标签
    •  git push origin <tagname>可以推送一个本地标签;
    •  git push origin --tags可以推送全部未推送过的本地标签;
    •  git tag -d <tagname>可以删除一个本地标签;
    •  git push origin :refs/tags/<tagname>可以删除一个远程标签。

    四 分支

    •  Git鼓励大量使用分支:
    •  查看分支:git branch
    •  创建分支:git branch <name>
    •  切换分支:git checkout <name>
    •  创建+切换分支:git checkout -b <name>
    •  合并某分支到当前分支:git merge <name>
    •  删除分支:git branch -d <name>
    •  查看分支
    1.  git branch
    2.  git branch -v
    •  创建分支 git branch A1.0
    •  切换分支 git checkout A1.0
    •   删除分支
    1.  git branch -d A1.0 // 如果该分支没有合并到主分支会报错
    2.  git branch -D A1.0 //强制删除
    •  把A合并到B中
    1.  git checkout B
    2. git merge A
    •   分支合并
    1. 比如,如果要将开发中的分支(develop),合并到稳定分支(master),
    2. 首先切换的master分支:git checkout master。
    3. 然后执行合并操作:git merge develop。
    4. 如果有冲突,会提示你,调用git status查看冲突文件。
    5. 解决冲突,然后调用git add或git rm将解决后的文件暂存。
    6. 所有冲突解决后,git commit 提交更改。

    五 忽略文件.gitignore

    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件
    忽略文件的原则是:

    •  忽略操作系统自动生成的文件,比如缩略图等;
    •  忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
    •  忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
    • 不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

     六 github

    •  从github下拉项目的方法  git clone https://XXXXXXXXX.git


    七 个人配置

    前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中

    [user]
    name = carlos
    email = 1447675994@qq.com
    [core]
    autocrlf = false
    [color]
    ui = true
    [alias]
    co = checkout
    ci = commit
    br = branch
    st = status
    last = log -1
    lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    八 .gitignore 格式  
    这个仓库要忽略的文件

    •  忽略所有 .a 结尾的文件 *.a
    •  但 lib.a 除外 !lib.a
    •  仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO
    •  忽略 build/ 目录下的所有文件 build/
    • 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt doc/*.txt
    .project
    .pydevproject
    .settings/
    *.ncb
    *.suo
    *.user
    .cproject
    *.o
  • 相关阅读:
    Scrapy shell调试返回403错误
    android 获取 imei号码
    查找目录下的所有文件中是否含有某个字符串
    自动生成和配置ES的安全证书
    docker构建本地私有镜像
    ELK容器化部署
    Rancher使用基础知识1
    jenkins自动打包部署流水线
    ansible管理windows主机
    jenkins集成gitlab自动构建打包
  • 原文地址:https://www.cnblogs.com/fangshenghui/p/5693593.html
Copyright © 2011-2022 走看看