Git分布式版本控制系统学习及使用

前言:Git竟然是Linus花了仅仅两周时间用C开发出来的,膜拜啊!

1. Git常用命令:

1). 设置用户名:
    git config --global user.name "用户名"  
2). 设置用户邮箱:  
        git config --global user.email "用户邮箱"
3). 查看配置:  
        git config --list  
4). 初始化一个新的Git仓库  
        a.创建文件夹;  
        b.在文件中初始化git(创建git仓库)  
            git init  
5). 向仓库添加、修改文件:
        git status :             查看当前文件状况
        git diff:               当文件修改后,查看修改内容
        git add 文件名:        将文件从工作区域提交到暂存区域
        git commit -m "描述"     将文件从暂存区域提交到当前分支
6). 撤销修改    
        git checkout -- fileName :   把文件在工作区的修改全部撤销,
                这里有两种情况:a.文件修改后还没放入暂存区,现在撤销修改就回到和版本库一模一样的状态;
                b.文件已经添加到暂存区后,又做了修改,撤销修改就会回到添加到暂存区后的状态
        git reset HEAD fileName:  把暂存区的修改撤销掉,重新放回工作区
7). 删除文件:
        a.确实要删除文件:
            git rm 文件名
            git commit -m "描述"
        b.文件删错了:
            git checkout -- fileName : 从版本库中把误删的文件恢复到最新版本 
8). 查看提交log
        git log [--pretty=oneline]:   查看提交历史,以便确定要回退到哪个版本
        git reflog :        查看命令历史,以便确定要回到未来的哪个版本
9). 回退到某一版本
        git reset --hard commit_id
10). 从远程仓库拉代码:
        git clone 仓库地址
11). 提交到git远程仓库
        git push
12). 远程项目每次push都需要输入用户名和密码可以如下解决:
        vim .git/config
        将[remote "origin"]
            url="htts://github.com/用户名/仓库名.git
            修改为
            url="https://用户名:密码@github.com/用户名/仓库名.git"
13). 分支管理 
        git checkout -b 分支名: 创建并切换到该分支;
         相当于: git branch 分支名:     创建分支
                git checkout 分支名:    切换分支

        git branch :列出所有分支,当前分支前面会标一个*号

        git merge 分支名: 合并指定分支到当前分支

        git branch -d 分支名:删除指定分支

        git merge --no-ff -m "描述" 分支名 : --no-ff表示禁用Fast forward,合并后的历史有分支,
                                能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

       用带参数的git log也可以看到分支的合并情况:
            git log --graph --pretty=oneline --abbrev-commit
            git log --graph : 该命令可以看到分支合并图
14). Bug分支:  
        git stash:      当前工作现场“储藏”起来,等以后恢复现场后继续工作
        git stash list:    查看

        恢复:
             a. git stash appply :恢复后,stash内容不删除
                git stash drop:删除

             b. git stash pop:  恢复的同时把stash内容也删除;
15). Feature分支:  
       分支在未merge之前强行删除:
                git branch -D 分支名;
16). 多人协作:  
        当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,
        并且远程仓库的默认名称是origin;本地新建的分支如果不推送到远程,对其他人就是不可见的

        <推送分支>
        git remote [-v] :查看远程库信息
        git push origin <branchName>:  推送分支到远程库对应的分支上

        哪些分支需要推送,哪些不需要呢?
            master分支是主分支,因此要时刻与远程同步;
            dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

        <抓取分支>
        从远程库clone时,默认情况下只能看到本地的master分支,要在dev分支上开发,就必须创建远程origin的dev分支到本地:
         git checkout -b branchName origin/branchName

        <合并冲突>
        git pull把最新的提交从origin/dev抓下来,在本地合并,解决冲突,再推送:
        git branch --set-upstream branchName origin/branchName :建立本地分支和远程分支的关联
17). 标签管理:    

        创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除

        git tag <nam> [commit_id]: 默认标签是打在最新提交的commit上,
        git tag :                  查看所有标签
        git show <tagname>:        查看标签信息
        git tag -a <tagname> -m  "des" commit_id: 创建带有说明的标签,用-a指定标签名,-m指定说明文字

        git tag -d <tagname>: 删除标签

        git push origin <tagname>: 推送某个标签到远程
        git push origin --tags: 一次性推送全部尚未推送到远程的本地标签


        如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
        先从本地删除 :  git tag -d <tagName>:
        然后,从远程删除: git push origin :refs/tags/<tagName>

2. github建立个人网站:

1. 访问地址: https://用户名.github.io

2. 搭建步骤:
    1).创建个人站点:
        新建仓库:创库名必须是: 用户名.github.io

    2). 在仓库下新建index.html文件即可;

3. 学习Git时用到的Linux命令:

rm :移除文件
rm -rf 目录名字: 
            -r 就是向下递归,不管有多少级目录,一并删除
            -f 就是直接强行删除,不作任何提示的意思
mkdir:创建文件夹;
rmdir:删除文件夹 
pwd: 显示当前目录
ls -ah : 显示当前文件夹中所有文件,包括隐藏文件
touch fileName: 创建文件
cat fileName:查看文件内容
vim fileName:  编辑文件
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值