zoukankan      html  css  js  c++  java
  • 20130907.Git学习记录

    1、任何文件在Git内都只有三种状态:
    ①已提交(committed):已提交表示该文件已经被安全地保存在本地数据库中了;
    ②已修改(modified):已修改表示修改了某个文件,但还没有提交保存;
    ③和已暂存(staged):已暂存表示把已修改的文件放在下次提交时要保存的清单中。
    由此我们看到Git管理项目时,文件流转的三个工作区域:Git 的本地数据目录,工作目录以及暂存区域。
     
    2、先决条件:
    1)在GitHub上面注册一个账号并激活
    2)安装windows下的git客户端如msysgit
     
    *****************************华丽的分割线*****************************
    一、使用SSH建立本地Git跟GitHub的连接
    SSH是什么,我也不清楚,只知道很多连接相关的都叫SSH比如说XShell连接Linux主机的时候就是SSH,应该是一种连接协议吧,需要找一个谷歌。
     
    1、查看本地是否存在SSH:
    No such file or directory 说明不存在ssh,则需要去创建一个新的ssh keys,使用命令建立SSH连接(看第3点)。
     
    2、运行命令:
    $ ssh-keygen -t rsa -C your_email@youremail.com
    执行完后在当前登录的用户下建立了文件夹:
     
    3、将新生产的SSH密钥导入到Github账户中
    其中key是id_rsa.pub里面的文件内容:
     
    4、接下来测试一下我们的git跟github是否能连接上
    ①输入命令:ssh -T git@github.com
    ②输入yes,提示
    ③输入之前设置的密码:直接提示连接被关闭
    ④接着执行上面的命令,再一次输入密码,发现
    以上设置为了让我们本地的Git跟Github连接上,接下来在本地配置git以便能够更好的进行签入和签出文件
     
    *****************************华丽的分割线*****************************
     
    二、配置Git并新建项目
    1、使用命令 
    git config --global user.name “Your Name”
    git config --global user.email “you@example.com
    如图:
    操作之后windows下当前登陆用户会多一个.gitconfig文件,
    文件内的内容为:
     
    2、新建一个仓库
     
    3、上传文件到GitHub中
     
    ①在的盘下新建一个目录名为jstest,跟前面建立的仓库名一样
     
    ②跳转到d:jstest目录下
    或者直接在cmd命令下进行,不过要将git的bin目录添加到环境变量下面
    需要将git的bin路径添加到环境变量
     
    ③新建一个README文件
     
    ④签入到本地文件库中
    first commit 是签入备注
     
    整个步骤如下图:
     
    官方给出的命令如下:
     
    以上就是Git的一个简单使用
     
    *****************************华丽的分割线*****************************
     
    三、Git不能支持中文的解决方法

    1、ls不能显示中文目录
    解决办法:在git/etc/git-completion.bash中增加一行:
    alias ls='ls --show-control-chars --color=auto'

    2、git commit不能提交中文注释
    解决办法:修改git/etc/inputrc中对应的行:
    set output-meta on
    set convert-meta off 

    3、git log无法显示中文注释
    解决办法:在git/etc/profile中增加一行:
    export LESSCHARSET=iso8859

    来源于网络

    *****************************华丽的分割线*****************************

    四、Git一些命令详解(不断更新)

    1、从GitHub上克隆一个项目
    克隆地址在每一个项目的首页都有,有很种形式的方式
     
    2、使用git diff查看差异(这个缺点太多了,请直接右键单击项目然后选择Git gui)
     
    3、将一个已经存在的项目更新到GitHub上的步骤:
    1)切换到工作目录:cd /d d:githubjstest
    1)新建一个文件夹,跟项目名称一模一样例如jstest
    2)将项目文件复制到jstest文件夹下
     
    4)进入项目根目录夹并初始化git:git init
    5)添加所有文件:git add .
    6)提交到本地:git commit -m "start project"
    7)添加到远程服务器:git remote add origin git@github.com:liujiangbei/pytest.git
    8)更新到GitHub上:git push -u origin master
    参考文章:
     
    4、创建一个仓库
    Create a new repository on the command line
    touch README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin
    git push -u origin master
     
    Push an existing repository from the command line
    git push -u origin master
     
    5、命令条目
    1)添加文件:git add file
    2)移除文件:git rm file
    3)从远程获取最新版本并merge到本地:git pull origin master (当然要进入项目的活动目录里)
    4).更新项目(新加了文件):
    $cd ~/jstest
    $git add .                  //这样可以自动判断新加了哪些文件,或者手动加入文件名字
    $git commit              //提交到本地仓库
    $git push origin master    //不是新创建的,不用再add 到remote上了
    5).更新项目(没新加文件,只有删除或者修改文件):
    $cd ~/jstest
    $git commit -a          //记录删除或修改了哪些文件
    $git push origin master  //提交到github
    6).忽略一些文件,比如*.o等:
    $cd ~/jstest
    $vim .gitignore     //把文件类型加入到.gitignore中,保存
    然后就可以git add . 能自动过滤这种文件
    7).clone代码到本地:
    假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目:
    $git fetch origin    //获取远程更新
    $git merge origin/master //把更新的内容合并到本地分支
    8).撤销
    $git reset
     
    *****************************华丽的分割线*****************************
    有用的连接:
     
    更新自己fork的项目
     
    git中pull和fetch的区别
     
    *****************************华丽的分割线*****************************
    常见错误
    1.$ git remote add origin git@github.com:WadeLeng/hello-world.git
    错误提示:fatal: remote origin already exists.
    解决办法:$ git remote rm origin
    然后在执行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不会报错误了
    2. $ git push origin master
    错误提示:error:failed to push som refs to
    解决办法:$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。
     




    附件列表

    • 相关阅读:
      使用CefSharp在.NET中嵌入Google kernel
      在WPF中嵌入WebBrowser可视化页面
      C#获取字符串的拼音和首字母
      .NET Core IdentityServer4实战 第六章-Consent授权页
      .NET Core IdentityServer4实战 第Ⅴ章-单点登录
      .NET Core IdentityServer4实战 第Ⅳ章-集成密码登陆模式
      一个C#程序员学习微信小程序路由的笔记
      C#串口通讯概念以及简单实现
      一个C#程序员学习微信小程序的笔记
      使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目
    • 原文地址:https://www.cnblogs.com/liujb/p/3316671.html
    Copyright © 2011-2022 走看看