Git-读了大神的文章后,记下

1.创建版本库

   $ mkdir resname

    $ cd resname

    此时文件夹里只有$ git init

    .git一个文件夹,不要随意改动。

2.文本添加到版本库

    编辑文本文件,推荐使用notepad++,设置成UTF-8 without BOM

    首先创建文件保存在文件中,

    然后添加到仓库$ add filename

    再然后提交到仓库$ git commit -m本次改动的简述

    注:可以add多个文件,一次commit提交

3.查看

    $ git status查看当前文件修改和提交的状态

    $ git diff filename查看文件具体修改的内容

    $ git log查看提交日志(由近及远)

    $ git log --pretty oneline上一命令的简化

    $ git reflog查看历史命令

    $ git diff HEAD -- filename查看工作区和版本库里面最新版本的区别

4.版本回退

    $ git reset --hard HEAD^

    可以直接写版本号的前6位。$ git reset --hard commit_id

    不知道本电脑为啥head^这个不好用,但是id还是好用的

5.工作区和暂存区

    修改过后的文件先add到暂存区,在提交到master分支。

7.撤销修改

    文件已修改但是没有add

    $ git checkout -- filename

    文件修改并add到暂存区

    $ git reset HEAD file

    $ git checkout -- filename

8.删除文件

    $ git rm filename

    如果删错了

    $ git checkout -- filename用版本库里的文件代替工作区的文件

9.远程仓库

    首先打开Git Bash,创建SSH Key

    $ ssh-keygen -t rsa -C“你自己的邮箱”。一路回车默认

    然后,打开Github -> Personal settings->SSH and GPG keys->new SSH Key

    title自己定义,key复制用户主目录下的admin/.ssh/id-rsa.pub

    再然后Add SSH Key

    然后创建一个新的仓库,new repository

    关联远程仓库

        $ git remote add [email protected]:zdning/learngit.git

    将当前分支master推送到远程库

        $ git push -u origin master首次加-u,以后可以省略

GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

10.克隆仓库

先创建远程库,再克隆到本地


Git-读了大神的文章后,记下_第1张图片
创建远程库

    创建完成之后进行克隆

        $ git clone git clone [email protected]:zdning/gitskills.git

    使用https协议速度慢,每次输入都必须输入口令,

11.分支管理

    HEAD指向工作区,master指向要提交的区。

    首先创建分支$ git branch devname

    切换分支$ git checkout  devname

    创建并切换分支$ git checkout -b devname

    查看当前分支$ git branch

    当前分支前面有*标识

    切换回master分支$ git checkout master

    合并分支$ git merge devname

    删除分支$ git branch -d devname

12.解决冲突

    冲突发生,会直接在文档里显示出来,需要手动修改之后提交

        $ git log --graph --pretty=oneline --abbrev-commit查看合并情况

        $ git log --graph可以查看分支合并图

13.分支管理策略

        master相当于正式库,一般情况下不能直接在master上工作,一般都在分支dev上工作,所有人的代码也都往dev上合并,dev是不稳定的,是测试库

14.Bug分支

        意思就是,我手里还有任务没做完,boss说有个bug要我改,可是,我手里的任务没做完,又不能提交,我就得先把没提交的代码保存起来,新建一个修复Bug的分支。

        保存未提交的代码$ git stash

        在哪个分支修复,就切换到哪个分支临时创建分支。

            $ git checkout-b issue-101

       修改后提交,切换到主分支,合并,删除临时分支

    恢复到上一个开发现场

    查看$ git stash list

    恢复$ git stash pop同时删除了stash

14.Feature分支

    准备合并的时候,销毁临时分支$ git branch -d feature

    强行删除$ git branch -D feature

15.多人协作

    查看远程库信息$ git remote -v

    推送分支$ git push origin master一般只推送master/dev

    本地dev与远程dev连接$ git branch --set-upstream dev origin/dev

    拉取最新的提交$ git pull

    本地合并修改,在进行添加、提交、推送$ git push origin dev

16.标签管理

    自定义标签名来代替复杂的commit-id

    切换到需要打标签的分支上$ git tag v2.1

    查看标签$ git tag

    命令git push origin 可以推送一个本地标签;

    命令git push origin --tags可以推送全部未推送过的本地标签;

    命令git tag -d 可以删除一个本地标签;

    命令git push origin :refs/tags/可以删除一个远程标签。

你可能感兴趣的:(Git-读了大神的文章后,记下)