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:\github\jstest
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 上去。
 

附件列表

20130907.Git学习记录的更多相关文章

  1. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  2. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  3. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

  4. GIT学习记录4(标签管理与自定义git)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  5. GIT学习记录3(分支管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  6. git学习记录2(远程库管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  7. git学习记录1(本地库管理)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  8. Git学习记录-基本命令篇

    目录 网页在线练习地址 https://learngitbranching.js.org/ 1.git commit Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然 ...

  9. Git学习记录(一)

    本篇文章介绍Git的本地使用 Git是什么? Git是世界上最先进的分布式版本控制系统. 那么什么是版本控制系统? 我们来举个例子,假设我创建了一个项目Project.1,里面写了一个README.t ...

随机推荐

  1. Redis 报错:MISCONF Redis is configured to save RDB snapshots

    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Com ...

  2. 【CodeForces 987C】Three displays

    [链接] 我是链接,点我呀:) [题意] [题解] 动态规划 设dp[i][j]表示前i个数字,选了j个的最小花费. dp[i][j] = min(dp[k][j-1]+b[i]);//其中a[i]& ...

  3. c#设置button透明

    c#设置button透明 1.使用代码进行设置: this.button_welcom_login.FlatStyle = System.Windows.Forms.FlatStyle.Flat; t ...

  4. HDU 3567 Eight II

    Eight II Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 3 ...

  5. nyoj 120 建边构强连通

    #include<stdio.h> #include<string.h> #include<queue> using namespace std; #define ...

  6. 导入项目后下载jar包问题理解

    1.导入,然后你下载的jar包,jar下载成功,并不代表你项目里的代码就能用这个jar包了. 你必须还要本地添加进classpath.必须手动添加进类路径 2.总结就是:下载jar包是下载jar包,添 ...

  7. Ambari-单步创建cluster

    Ambari-单步创建 总体介绍 单步创建集群即对于集群内每个服务的安装.开启.组成服务的每个组件host信息的设置等操作都进行一次ambari-server的restAPI的调用. 这样做提高了对集 ...

  8. XML系统学习

    参考:W3School XML基本概念 1.XML是eXtensible Markup Language,使用DTD(Document Type Definition)来描述数据,主要是为传输和存储数 ...

  9. unity3d教程运行物理机制

    首先,我们将把Hooke定律写Euler方法结合在一起找到新坐标.加速和速度. Hooke定律是F=kx,这里的F是指由水流产生的力(记住,我们将把水体表面模拟为水流),k是指水流的常量.x则是位移. ...

  10. c3---scanf

    #include <stdio.h> int main(int argc, const char * argv[]) { // 要求: 存储用户输入的整数 // 1.用户输入的整数确定吗? ...