zoukankan      html  css  js  c++  java
  • Git的使用

    一:Git是什么?

           Git是目前比较先进的分布式版本控制系统。

    二:SVN与Git的最主要的区别?

          SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

          Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

    三:使用git控制台进行本地操作

    ①打开Git Bash

     

    ②填写用户名和邮箱作为标识

    分别输入以下两个命令:

    git config --global user.name “此处填写用户名”

    git config --global user.email “此处填写邮箱名”

    此时可以输入git config --list 查看信息

    ③将本机中某个文件夹设为仓库

    cd 文件路径 到要被设为仓库的文件夹

    然后输入git  init将文件夹设置成仓库

    此时repository在文件夹中多了一个隐藏文件夹.git

     

    ④在仓库中放入一个txt文件,用以模拟操作

    现在在控制台输入git  status查看在工作区是否有未转到本地仓库的文件

     

    我们看到test.txt为红色字体,说明这个文件做过修改,但还没用保存到暂存区。现在

    我们输入git add test.html 然后再输入git status 查看,发现test.html变为绿色,证明文件已经保存到暂存区。

     

    注意:使用    git add 文件名   命令行将文件保存到暂存区。

    然后我们输入git commit -m 备注信息 命令将文件提交到本地仓库

     

    此时文件夹中仍然有文件。只是本次工作树的操作已经提交给了本地仓库,此工作树中的内容与本地仓库储存的内容已经一致。

    而不是将文件夹中的文件删除。

     

    通过上面的操作我们可以得到结论。新放入工作区或者修改后的文件,当修改未提交给暂存区时,查看到的文件显示为红色。

    当将修改的内容提交到暂存区时,查看到的文件显示为绿色。当文件提交到本地仓库后,文件显示为空。

    因此我们得到向本地仓库保存文件的步骤为:

    git  add  文件名   git  commit -m 备注信息

    版本回退

    txt文件中新加内容,保存到本地仓库。

    输入git log 查看提交历史

    版本回退的命令为:

    git reset - -hard 这个命令是回退到上一个版本

    git reset - - hard 版本号 回到某个版本号(版本号头几位就行)

    此处我们输入第一次时的版本号:

    git reset --hard 8c0f34

    版本回退成功。此时我们去查看文件夹中的文件。

     

    二、与远程仓库连接

    登录https://github.com 进入注册的github账号

    ①配置github密匙

    打开git bash 输入cd ~/.ssh查看是否存在密匙

    如果显示没有密匙,则输入ssh-keygen -t rsa -C “邮箱地址”创建密匙

     此时我们得到下面两个文件

    打开.Pub文件复制里面的内容。打开github网站,点击右上角图标

     

    输入ssh -T git@github.com测试ssh连接github

    点击git网站中右上角的加号,创建网络仓库

    现在我们去远程仓库看一下变化

    上传成功!!!!

    一、创建分支

    在实际工作中,项目可能需要几周才能完成, 每天只能写部分代码,如果立刻提交,则代码并没有写完,别人也不能用。

    如果等代码写完再提交,又有丢失每天进度的风险。则可以新建一个属于自己的分支,别人看不到,等代码写完,一次性合并到原来的分支上。

    输入 git checkout -b dev 命令行,创建好一个dev开支。

    然后输入 git branch查看现有的分支

    现在修改text中的内容,在dev上提交

     

    然后输入git checkout master切回master分支

     

     

    然后输入git merge dev dev分支合并到master分支

     

    如果项目已经完成,可以输入git branch -d dev 来删除dev分支

     

    因此:多人协作工作模式一般是这样的:

    首先,可以试图用git push origin branch-name推送自己的修改.
    如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
    如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

    Git基本常用命令如下:

    mkdir: XX (创建一个空目录 XX指目录名)

    pwd: 显示当前目录的路径。

    git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

    git add XX 把xx文件添加到暂存区去。

    git commit –m “XX” 提交文件 –m 后面的是注释。

    git status 查看仓库状态

    git diff XX 查看XX文件修改了那些内容

    git log 查看历史记录

    git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本

    (如果想回退到100个版本,使用git reset –hard HEAD~100 )

    cat XX 查看XX文件内容

    git reflog 查看历史记录的版本号id

    git checkout -- XX 把XX文件在工作区的修改全部撤销。

    git rm XX 删除XX文件

    git remote add origin https://github.com/tugenhua0707/testgit 关联一个远程库

    git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库

    git clone https://github.com/tugenhua0707/testgit 从远程库中克隆

    git checkout –b dev 创建dev分支 并切换到dev分支上

    git branch 查看当前所有的分支

    git checkout master 切换回master分支

    git merge dev 在当前的分支上合并dev分支

    git branch –d dev 删除dev分支

    git branch name 创建分支

    git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

    git stash list 查看所有被隐藏的文件列表

    git stash apply 恢复被隐藏的文件,但是内容不删除

    git stash drop 删除文件

    git stash pop 恢复文件的同时 也删除文件

    git remote 查看远程库的信息

    git remote –v 查看远程库的详细信息

    git push origin master Git会把master分支推送到远程库对应的远程分支上

  • 相关阅读:
    JavaScript中的闭包(closure)
    JavaScript中的继承与原型链
    一个PHP操作大变量的例子
    深入PHP内核之参数
    django创建一个简单的web站点
    django通过添加session来保存公共变量
    第一次登录mysql,使用任何命令都报错ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    django搭建的站点,通过localhost能访问,但是通过ip不能访问
    django models实际操作中遇到的一些问题
    python3 django连接mysql,同步表结构
  • 原文地址:https://www.cnblogs.com/wqtzhaoqiang/p/7137115.html
Copyright © 2011-2022 走看看