原文载于youdaonote,有图片:
环境:git for windows.exe;windows;git shell
借鉴:
2、Github官方教程-Fork A Repo
3、windows上git使用-推酷
4、如何在windows下安装GIT-百度经验
 
正文:

一、安装git for windows

windows版本的git有几种实现,大家都推荐兼容性很好的msysgit发行版。但是官网无法下载,我在百度软件中心下载了2015年9月9日的版本。

  1. 在Windows Explorer integration选项中将“Git Bash here”和“Git GUI here”打对勾。

  2. 在“Adjusting your PATH environment”选项中,默认即可。

  3. 在“Configuring the line ending conversions”选项中,
    第一个选项:如果是跨平台项目,在windows系统安装,选择;
    第二个选项:如果是跨平台项目,在Unix系统安装,选择;
    第三个选项:非跨平台项目,选择。


第二,创建github账号

1、什么是Git和GitHub

Git —The stupid content tracker, 傻瓜内容跟踪器,是一个由Linux内核开发者Linus为了更好地管理Linux内核开发而创立的分布式版本控制软件

GitHub — 学生做版本控制最讨厌的就是找服务器,配置太麻烦了。GitHub这个网站为每个用户提供服务器托管其Git代码库,免费空间为300M。注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目

为什么不选CVS或SVN

  • Git提交/克隆/pull/push的速度更快
  • Git的绝大多数操作都可以在本地完成,不需要频繁连接服务器

2、注册GitHub账号

  • GitHub选择的默认通信方式是SSH,所以要先在Git里面生成SHH Key,打开Git Bash在其中输入如下命令:

ssh-keygen -t rsa -C "3sdfsf80@xinlang.com"

之后会让你选择是否对存放SSH Key的文件夹进行加密,一般都不需要的。一路回车,就OK了。

在c盘,当前用户文件夹下,有个.ssh 文件夹,在里边 找到 id_rsa.pub文件,用记事本打开,复制其中的全部内容。
登陆你的GitHub账户,依次点击Settings > SSH Keys > Add SSH key,把id_rsa.pub中的内容拷贝进去 。
至此,基本的设置已经完成了。

3、测试你的Git

  • 经过上述配置,你的Gti应该可以通过SSH连接GitHub服务器了,让我们来测试下,在git bash中输入如下命令:

  • 会给你这样的提示:

  • 输入yes,会显示:

  • 到这里,说明你的SSH运转良好。

如果提示你的密钥不正确,那么你需要重新确认上一步的操作是否完整无误。


第三,建立本地git仓库

1、git要求使用者必须提供自己的身份标识,为此我们需要在git bash中执行以下命令:
git config --global user.name  'aa.Tessst'
git config --global user.email  fsc@sina.com

其中:--global是将认证信息同步到全局


2、选择git仓库目录
我们假设将git仓库目录放在D盘的OPENSource目录下,可以通过在git bash中执行以下命令完成:
cd /d
mkdir OPENSource
注:git bash支持大多linux bash终端命令,你可以自己尝试更多终端操作,比如cd D:切换到D盘。

3、建立项目并初始化git仓库
我们的第一个项目是一个使用Python语言将XML文件转换成Python字典,通过执行以下命令完成此步骤:
mkdir Python-XML2Dict
cd Python-XML2Dict
git init
执行此操作后,git将在Python-XML2Dict目录下创建一个隐藏目录(.git),这个目录就是git用来管理软件版本的仓库。


第四,使用git管理、同步项目

1、已经创建过项目,需要从服务器同步到本地,可以使用git clone

git clone https项目地址

clone操作包含了init操作,会生成一个隐藏的.git目录。

官网教程:

2、add到repository

当然也可以git add *

3、git commit

4、push和pull

push是将本地文件上传到服务器(github),pull是将服务器文件同步到本地。

错误提示:新建的项目push失败,提示:

you may want to first integrate the remote changes.eg.'git pull ...' before pushing.

(本地代码和服务器代码有冲突,你是否需要在push之前pull一下?)

push正确后,可以在github上看到文件列表。

5、分支、其他

学习中,参考如下:

官网Syncing a fork:https://help.github.com/articles/syncing-a-fork/

csdn:http://blog.csdn.net/huangyabin001/article/details/35840591

廖学峰的git教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


其他:

1、将项目提交到github管理,gitpush

如果 第二步 测试无错,那么 经过 以下两步 就可以将本地的文件提交到github仓库了。

1.1、登录GitHub后,你可以在右上边靠中那里找到一个按钮“creat a New Repository”,点击过后,填入项目名称、说明等 过后就可以创建了,然后会出现一个提示页面,记下类似  git@github.com:XXX/XXX.git 的地址,这个就是你这个项目的地址了。

注:项目地址可以用https或ssh两种方式表达。如图:

1.2、

1 git remote add origin git@github.com:XXX/XXX.git
2 git push -u origin master //把本地 master 分支 推送到 服务器的master分支上,如果服务器没有此分支,就 新建 此分支。这也是 在服务器上新建分支的一种方法

这个git@github.com:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。

2、直接 用 git pull 将项目 从 github 上 同步 下来

有两种方法:

2.1、当git clone之后,直接git pull它会自动匹配一个正确的remote url

是因为在config文件中配置了以下内容:

1 [branch "master"]
2 remote = origin
3 merge = refs/heads/master

表明:

2.1.2.git处于master这个branch下时,默认的remote就是origin;

2.1.3.当在master这个brach下,使用指定remote和merge的git pull时,使用默认的remote和merge。

2.2、但是对于自己建的项目并没有这块内容,需要自己配置

1 git remote add -f origin login@git.sv.gnu.org:/srv/git/project.git //若是 执行过 第五步,那么 这一句 就 不用了
2 git config branch.master.remote origin //这一步 设置: 把 master 分支上 的 默认服务器地址 设为 origin指向的地址
3 git config branch.master.merge refs/heads/master   //这一步 设置:如果当前分支是 master 分支,那么 git pull之后,直接 把 “从 origin 下载 下来的 code合并到 master分支上“

或者加上--global选项,对于全部项目都使用该配置。

建议:用第二种 方法,因为 如果 是 git clone的 项目,当 执行 git push 时,因为 在 git  config里 url  是 只读方式

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git://github.com/xxx/xxx.git
//git@github.com:XXX/XXX.git 这才是 读写方式

---------------------------------

如果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?

有两个方法:

1、重新修改本地代码,然后提交到服务器(覆盖),

2、直接登录 github 删除之前的项目。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除了。

--------------------------

3、分享

若是一个项目就托管在 GitHub 上。你可以把它的 URL 分享给每位对此项目感兴趣的人。本例的 URL 是http://github.com/testinguser/iphone_project。而在项目页面的摘要部分,你会发现有两个 Git URL 地址,见 右图:

右图的 摘要中的公共 URL 和私有 URL

Public Clone URL 是一个公开的,只读的 Git URL,任何人都可以通过它克隆该项目。可以随意散播这个 URL,比如发布到个人网站之类的地方等等。

Your Clone URL 是一个基于 SSH 协议的可读可写 URL,只有使用与上传的 SSH 公钥对应的密钥来连接时,才能通过它进行读写操作。其他用户访问该项目页面时只能看到之前那个公共的 URL,看不到这个私有的 URL。

Git版本管理1-安装配置和同步的更多相关文章

  1. Git介绍及安装配置

    一.概述 1.1git概念 Git是一个开源的分布式版本控制系统,用于敏捷高效处理任意规模的项目,其作者为Linux创造者Linus Torvalds为管理Linux内核而开放的一个开源的版本控制柔软 ...

  2. CentOS6.4下Git服务器Gitosis安装配置

    1.安装GIt: #yum install git 2.增加一个git用户 #useradd git #passwd git 3.创建git仓库存储目录,设置权限 #mkdir /home/git/r ...

  3. Git & GitHub 的安装配置

    参考   教你免费搭建个人博客,Hexo&Github   安装Git 1. 注册 GitHub 注册.登录 https://github.com/ 2. 创建仓库 在 GitHub 的右上角 ...

  4. git简介及安装配置

    Git是一种分布式版本控制系统.它和集中式版本控制系统的区别有如下几点: 1).分布式版本控制没有中央服务器,每个人的电脑上都有完整的版本库: 2).分布式管理系统的安全性要高,如果某一台电脑的坏了, ...

  5. Git教程之安装配置(1)

    1.Git是什么? Git是目前世界上最先进的分布式版本控制系统. 2.SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  6. svn 安装 配置及同步

    1.环境centos 2.安装svn #yum -y install subversion 3 查看版本 #svnserve --version 4 建立版本库目录 #mkdir /data/svnd ...

  7. rsync安装配置实时同步

    一.简介 1.认识 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远 程两个主 ...

  8. Git 学习之--安装配置GitHub

    楼主今天学习了一下Git的使用,而且Androdi studio 下加入了Git插件,成功提交项目到自己Github个人主页 watermark/2/text/aHR0cDovL2Jsb2cuY3Nk ...

  9. gitblit git SERVER window 安装配置 hook post-receive 自动部署

    项目中使用的是gitblit windos版 1.安装 需要JAVA SDK http://gitblit.com/Download Gitblit GO (Windows) 下载后,解压缩,放到例如 ...

随机推荐

  1. Halcon10 下载

    Halcon10 下载地址:http://www.211xun.com/download_page_1.html HALCON 10 是一套机器视觉图像处理库,由一千多个算子以及底层的数据管理核心构成 ...

  2. C#通过gridview导出excel

    [CustomAuthorize]        public FileResult ExportQuestionCenterExcel(SearchBaseQuestion search)      ...

  3. vue开发学习中遇到的问题以及解决方法

    1:node-sass 安装失败,可使用 cnpm 安装 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v ...

  4. Bower 显示‘bower ESUDO Cannot be run with sudo’的错误解决方法

    使用 sudo 命令后或者当前用户为 root,执行 bower 相关命令会出现错误: 解决办法: 在命令后面加 --allow-root 例: bower init  --allow-root bo ...

  5. Python中的Comprehensions和Generations

    Python中的Comprehensions和Generations语法都是用来迭代的.Comprehensions语法可用于list,set,dictionary上,而Generations语法分为 ...

  6. 【week7】psp

    本周psp 项目 内容 开始时间 结束时间 中断时间 净时间 2016/10/31 技术学习 看向数据库传入数据的代码 18:00 21:00 45 135 psp记录 将psp记录进电脑 21:20 ...

  7. Android各分辨率定义的图片规格

    我们定义的app图片规格 app图标需要分iphone和android两套 iphone: 名称 Iphone4 Iphone5 手机尺寸 960*640(高*宽) 1136*640 (高*宽) 电池 ...

  8. [Leetcode] 1.Two Sum(unordered_map)

    1.首先想到的方法就是两个for循环全部遍历,代码如下,可通过,但效率太低 class Solution { public: vector<int> twoSum(vector<in ...

  9. Django 2.0 学习(08):Django 自动化测试

    编写我们的第一个测试 确定bug 幸运的是,在polls应用中存在一个小小的bug急需修复:无论Question的发布日期是最近(最后)的日期,还是将来很多天的日期,Question.was_publ ...

  10. Socket网络编程实例1

    Socket: 对所有上层协议(TCP/IP,UDP等)的底层封装. 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(so ...