git的使用大全整理

1.git是什么
    目前世界上最先进的分布式版本控制系统
2.svn和git的区别
    svn是集中式版本控制系统
    git是分布式版本控制系统
3.windows上如何安装git
    msysGit是windows版本的git,网上下载后进行默认安装即可,完成后在菜单栏找git->git bash
    会弹出一个命令窗口,说明git安装成功
    安装完成后,还需最后一步设置,在命令行输入:(git为分布式版本管理系统,所以需要用户名,邮箱作为唯一标识)
    git config --global user.name "chenshan"
    git config --global user.email '869395614'
4.如何操作
    创建版本库(仓库respository),可以理解为一个目录,里面的所有文件都可以被git管理起来
    创建一个版本库也非常简单:创建一个文件夹,进入文件夹里,执行git init
    添加文件到版本库:在文件夹里新建一个文件111.txt,执行git add 111.txt ;git commit -m "111.txt提交"/git add --all
    查看是否有文件未提交:git status;
    查看文件到底做了哪些修改:git diff 111.txt;
    版本回退:查看提交历史记录:git log/git log -pretty=oneline
                版本回退:git reset -hard HEAD^/git reset -hard HEAD^^/git reset -hard HEAD~100
                如果回退了,又想撤销回退操作git relog
    文件没有添加到暂存区,想回退,可以:直接修改文件内容,再提交/或回退到上一个版本/git checkout --111.txt丢掉工作区的修改

    删除文件 rm 111.txt/或直接在工作区中删除 ;git commit
    只要没commit之前,想要恢复 git checkout --111.txt
5.远程仓库
    本地仓库和远程仓库github之间传输是通过SSH加密,所以需要一点设置
    a.创建ssh key.在用户目录下,有没有看到.ssh目录,如果有,看目录下有没有id_rsa(私钥)和id_rsa.pub(公钥)这两个文件,如果有,直接跳过如下命令
        打开命令行:ssh-Keygen -t rsa -C "[email protected]"
    
    b.登入github,设置ssh key
    c.创建远程库
    d.把本地仓库与之关联,把本地仓库内容推送到github上
        git remote add orign https://github/testgit.git
        git push -u orign master(第一次推送,加-u参数)
    e.把远程仓库内容拉到本地
        git clone https://github/testgit.git
6.创建与合并分支
    创建并切换分支:git checkout -b dev 相当于两条命令 git branch dev;git checkout dev
    查看当前分支:git branch
    把dev分支上的内容合并到master上,在master分支上执行 git merge dev(合并时,一般用fast-forward模式,非常快,在这种模式下,删除分支后,会丢掉分支信息,用-no-ff禁用fast-forward:git merge -no-ff -m '注释' dev)
    删除dev分支:git branch -d dev
    
    在自己分支上工作时,有个不得不修改的bug地紧急处理,但是又不想提交目前工作到一半时的工作状态
        git stash将当前的工作现状隐藏起来
        工作区是干净的,工作现场去哪里了呢? git stash list来查看
        工作现场恢复:git trash apply 恢复后,trash内容并不删除,再用git trash drop 删除
                        或者直接一步到位 git trash pop
    
7.多人协作
    查看远程库的信息git remote/详细信息 git remote -v
    别人已经修改了文件提交了,但是你本地的文件还是之前的文件,你提交会发生冲突,所以,先git pull
    git pull失败了,可能提示git branch --set-upstream-to=orgin/dev,就是没有指定本地与远程dev分支的链接:git branch --set-upstream dev origin/dev

总结:

本地建立仓库:git init
添加远程仓库:git remote add origin https://github.com
创建远程dev分支到本地:git checkout -b dev origin/dev
指定本地dev分支与远程origin/dev分支的链接:git branch --set-upstream-to=origin/dev dev
将本地master分支推送到远程origin主机的dev分支:git push -u origin dev

本地仓库和远程仓库不一致,用git pull
pull时如果拒绝合并不相关历史:git pull --allow_unrelated_histories
 

猜你喜欢

转载自blog.csdn.net/CS13477062349/article/details/87881073
今日推荐