美文网首页
git相关概念及操作

git相关概念及操作

作者: 猪肉楠 | 来源:发表于2017-02-20 09:58 被阅读0次
    1、git init  
        通过git init命令把这个目录变成Git可以管理的仓库
    2、在git 同目录下加入文件
        git add readme.txt 将此文件加入即将提交的列表中
        git commit -m 'comment' 提交修改.-m制定备注
    3、git status
        查看目前git repository 状态,如果有修改的文件会在此处提醒
    4、git diff
        对比文件与上一个文件的版本
    5、git log
        查看提交记录,提交日志
        --pretty=oneline 简略信息查看
    6、git reset --hard HEAD^
        回退到上一个版本
        git reset --hard 3628164 后边这个数字是版本的hash值的前几位。得到这个值就可以将git的HEAD指针指向那个版本,所以,需要得到这个commit id
    7、git reflog
        回退以后如何回到未来,使用此命令查找执行过的HEAD位置移动的命令,查找到commit id的前几位,然后用 git reset --hard + commit id 即可回到未来
    8、工作区和暂存区的概念
        工作区是目前做任何修改的地区
        暂存区是将上一版本和这一版本对比以后,然后将修改过的文件git add 到暂存区
    9、git是字符级别的提交。先修改一次文件,然后add ,然后在修改一次文件,然后再commit,则第二次修改未被commit上去
    10、git diff HEAD -- readme.txt
        查看工作区和版本库里边最新版本的区别
    11、git checkout -- readme.txt
        让这个文件回到最近一次git commit或git add时的状态。-- 很重要,没有这两 - 就是回到另外一个分支了
    12、git reset HEAD file
        将add 到暂存区的文件撤销,然后在用get checkout -- file 这样整个世界就清静了
    13、git rm 
        删除文件以后,从版本库中,确认这个文件确实不要了以后,直接git rm 然后git commit
        如果git rm 一个文件后,得先git reset HEAD filename 后,再git checkout -- filename 就把删除的文件找到工作区了
    14、git push -u origin master
        把当前分支推送到远程.
        由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
    15、git push origin master
        从现在起,只要本地作了提交,就可以通过此命令把本地master分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!
    16、git clone git@github.com:wyn199303/gitskills.git
        从github一个版本库中克隆一个
    17、git checkout -b dev
        切换到一个新的分支 -b 表示创建并切换,相当于
            git branch dev
            git checkout dev
    18、git branch 查看分支,当前分支有一个*号
    19、git merge dev
        合并指定分支到当前分支,合并完以后就可以放心的删除dev分支了
    20、git branch -d dev
        删除dev分支
    21、git log --graph
        可以看到分支合并图
    22、merge的时候如果两个分支发生冲突了,那么直接打开那个文件进行手动修改,然后直接git add && git commit 即可
    23、通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。
    24、git merge --no-ff -m "merge with no-ff" dev
        使用 --no-ff模式进行merge,并且进行一个commit 这样merge就会产生一个commit id,使用git log就可以看到此次merge了
    25、master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活
    26、dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
    27、git status 将现场存储起来,以后恢复后继续工作
        git status 以后切换到需要修改的分支,然后再创建一个临时分支并切换过去,然后修改文件,然后提交修改,然后再切换到需要修改的那个分支,然后在merge git merge --no-ff -m "merged bug fix 101" issue-101
    28、git stash list 可以查看创建的stash 
        git stash apply stash@{0} 可以恢复某个stash,但是不删除这个stash信息
        git stash pop stash@{0} 可以恢复并删除某个stash
    29、git branch -D feature-vulcan 当feature-vulcan分支作业完成后,切换回dev分支进行合并,打算又不需要这个分支的功能,则需要用到这个命令执行快速删除。
    30、查看远程库信息,使用git remote -v;
    31、本地新建的分支如果不推送到远程,对其他人就是不可见的;
    32、从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
    33、在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
    34、建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
    35、从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
    

    相关文章

      网友评论

          本文标题:git相关概念及操作

          本文链接:https://www.haomeiwen.com/subject/qipswttx.html