• 学会git bash不求人


    初始化的一个git仓库

    git init [path] 注:如果没有path参数,则会选择当前所在目录作为git仓库

    把文件放到git仓库需要两步

    用命令 git add 把文件添加到暂存区
    用命令 git commit -m "说明" 把暂存区提交到仓库

    查看记录

    git log 如果嫌看着比较乱可以使用 git log --pretty=oneline

    查看命令记录

    git reflog

    回退到特定版本

    git reset --hard [版本号] 或者 如果直接回到上个版本可以用 git reset --hard HEAD~1

    比较工作区与仓库的文件差异

    git diff

    撤销文件

    git checkout -- [file]命令撤销未放入暂存区的文件修改
    git reset HEAD [file]命令把暂存区的修改退回到工作区,然后使用上述命令撤销文件修改

    删除文件

    git rm [file] 然后 git commit,如果误删想还原可以使用 git checkout -- [file]
    git checkou 实际上就是用版本库里面的版本替换工作区的版本

    清除缓存

    git rm -r --cached .

    分支管理

    创建分支:git branch [branch-name]
    切换分支:git checkout [branch-name]
    创建并切换到新分支:git checkout -b [branch-name]
    列出所有本地分支:git branch
    合并分支到当前分析:git merge [branch-name] 默认使用快速合并,不保存历史,通过 git merge --no-ff -m "说明" [branch-name] 把合并也作为一个提交点,方便查看历史。
    删除分支:git branch -d [branch-name] 如果要强行删除未合并的分支,则使用大写 D,git branch -D [branch-name]
    删除远程分支:git push origin --delete [branch-name]

    概念:主分支一般是用来发版本用的,平时做新需求或修改BUG的时候最好创建一个新分支,如果发现某个分支有BUG,最好也是在某个分支上创建一个分支去修改BUG后合并的某分支,如果某分支有未完成的任务,则可以使用命令git brash 把未完成的任务储藏起来,方便创建一个干净的分支去修复BUG,修复BUG完,合并后则可以通过命令把储藏区的内容恢复到工作区,通过命令 git stash list查看储藏的列表,然后使用git stash apply恢复,最后通过git stash drop删除储藏区的指定内容。另一种方式可以使用git stash pop,恢复的同时把储藏的内容删除。
    

    远程分支

    查看远程库信息:git remote -v
    本地创建的分支,如果不推送到远程,那么其他人是不可见的
    从本地推送分支:git push origin branch-name
    在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name
    建立本地分支与远程分支的关联:git branch --set-upstream branch-name origin/branch-name
    从远程抓去分支:git pull origin [branchname]

    标签

    查看所有标签:git tag
    对当前最新提交点创建标签:git tag tag-name,对特定提交点创建标签 git tag tag-name commit-id
    查看标签信息:git show tag-name
    删除标签:git tag -d tag-name
    推送标签到远程:tag push origin tag-name,推送尚未推送的所有本地标签:git push origin --tags
    删除远程标签:先删除本地标签 git tag -d tag-name 然后 git push origin:refs/tags/tag-namegit

    Git配置忽略提交的文件

    在工作区创建一个.gitignore的文件,该文件里面配置需要忽略提交的文件,然后把该文件提交到Git就可以了。

    Git仓库搭建

    服务端Centos安装Git:yum install git
    新增一个git用户:adduser git
    客户端生成SSH公钥:ssh-keygen -t rsa -C "youremail@example.com"
    把公钥导入到服务端:/home/git/.ssh/authorized_keys 文件里
    初始化一个仓库:git init /repo/git/test.git
    防止其他人直接登录服务器修改工作区把所有者指向git账号:chown -R git:git /repo/git/test.git
    防止git账户登录Shell:编辑 /etc/passwd 把 git:x:1001:1001:,,,:/home/git:/bin/bash 改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
    现在可以克隆远程仓库了:git clone git@server:/repo/git/test.git

    生成SSH公钥

    ssh-keygen -t rsa -C "weiyu.jia@abs.com"
      -t代表秘钥类型,-C代表一个注释,可以当成标签或描述
      把公钥导入服务器/home/git/.ssh/authorized_keys文件就可以了

    Git与SVN的区别

    Git是分布式版本控制器,同一个Git仓库可以分布到不同的机器上,每台机器没有主次之分,SVN则只有一台主服务器
    Git分支管理,SVN创建,切换等操作分支比蜗牛还慢,以至于分支功能成了摆设,Git创建,切换,删除等操作分支都在1秒内完成,无论你的版本库有多少个文件

  • 相关阅读:
    [Codechef Coders' Legacy 2018 CLSUMG]Sum of Primes
    [HDU4630]No Pain No Game
    [Luogu4329][COCI2006]Bond
    [数论]Gcd/ExGcd欧几里得学习笔记
    [数论]线性基学习笔记
    [Luogu5190][COCI2010]PROGRAM
    IIS7 HTTPS 绑定主机头,嘿嘿,转
    React
    ios
    iOS10 权限配置
  • 原文地址:https://www.cnblogs.com/net666/p/12996933.html
Copyright © 2020-2023  润新知