原文载于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. 最全的Markdown语法

    目录 Markdown语法 多级标题 引用与注释 插入代码 行内代码 代码段 图片 超链接 行内超链接 参数式超链接 字体 表格 分割线 多级列表 无序列表 有序列表 多选框 LaTeX公式 行内La ...

  2. 通过Ajax上传文件至WebApi服务器

    https://stackoverflow.com/questions/43013858/ajax-post-a-file-from-a-form-with-axios var formData = ...

  3. 2.azkaban3.0安装

    安装规划安装azkban1.安装配置数据库2.下载安装web server3.安装mulit executor4.安装azkaban插件AZKABAN参数安装出现的问题 安装规划 IP 角色 端口 1 ...

  4. Centos6更新yum repo

    163开源镜像站是国内比较老的一个网站.很多人都在使用. step 1/3 备份原镜像文件: cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.r ...

  5. 【树莓派 Raspberry-Pi 】用Windows远程桌面连接树莓派的方法【转】

    树莓派DIY笔记之前有介绍过用VNC连接到树莓派的方法.在Windows下,当然还是自带的远程桌面更便捷.如果不想用VNC,利用远程桌面(mstsc.exe)连接树莓派,如何实现? 只需要在raspb ...

  6. 从零讲JAVA ,给你一条 清晰地学习道路!该学什么就学什么!!

    1.计算机基础: 1.1数据机构基础: 主要学习:1.向量,链表,栈,队列和堆,词典.熟悉2.树,二叉搜索树.熟悉3.图,有向图,无向图,基本概念4.二叉搜索A,B,C类熟练,9大排序熟悉.5.树的前 ...

  7. Spring学习(三)—— 自动装配案例分析

    Spring_Autowiring collaborators 在Spring3.2.2中自动装配类型,分别为:no(default)(不采用自动装配).byName,byType,construct ...

  8. Js键盘事件全面控制,回车按键事件,键盘对应按键码,按键事件兼容各个浏览器。

    在网上查询的按键码如下: 一.键盘按键和键盘对应代码表:   字母按键码A <--------> 65 B <--------> 66 C <--------> 6 ...

  9. SVM之问题形式化

    >>>SVM之问题形式化 SVM之对偶问题 SVM之核函数 SVM之解决线性不可分 写在SVM之前——凸优化与对偶问题 SVM内容繁多,打算用五篇文章来记述.SVM之问题形式化描述给 ...

  10. 微信小程序项目笔记以及openId体验版获取问题

    公司一直说要搞小程序,说了几个月,最近才算落地,一个很小的项目,就结果来讲,勉强让自己窥得小程序门径. 下面总结一下,为了弄好小程序,所学到的知识,以及项目中遇到的问题以及解决的办法.纯属个人见解. ...