Git使用教程 Windows使用Git全攻略

在Windows上安装Git

我们需要先把Git的安装包下载下来,访问网址:https://git-for-windows.github.io/

或者百度网盘:链接: https://pan.baidu.com/s/1A7MKIoGGPZ4n6Gk03gwasQ 提取码: h87w

点击Download开始下载,下载完成后双击安装包进行安装,之后一直点击“下一步”就可以完成安装了。

创建代码仓库

首先配置一下身份,这样在提交代码的时候Git就可以知道是谁提交的了。打开Git Bash,输入下面的命令

git config -global user.name "Andy"
git config -global user.email "[email protected]"

配置完成后可以用同样的命令查看是否配置成功,将最后的名字和邮箱地址去掉即可。如下图所示:

然后就可以开始创建代码仓库了,仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中。

这里给 CoolWeather 项目建立一个代码仓库。先进入 CoolWeather 项目的目录下面,如图:

然后输入命令:

git init

这样即可完成创建代码仓库的操作。

仓库创建完成后,会在 CoolWeather 项目的根目录下生成一个隐藏的.git文件夹,这个文件夹是用来记录本地所有的Git操作的,可以通过”ls -al”命令来查看。如果想要删除本地仓库,删除这个文件夹就行了。

提交本地代码

代码仓库建立完之后就可以提交代码了,使用add和commit两个命令就可以。add用来把想要提交的代码先添加进来,commit用来执行提交操作。比如想添加 build.gradle 文件,可以输入如下命令:

git add build.gradle

这是添加单个文件的方法,如果想添加一个目录,在add后面加上目录名字就可以了。比如要把整个app目录下的所有文件进行添加,可以输入下面的命令:

git add app

不过这样操作有点繁琐,我们可以用下面这个命令一次性把所有文件都添加好:

git add .

所以,我们要想把 CoolWeather 这个项目提交的话,可以输入以下命令:

git add .
git commit -m"First commit"

注意,在commit的命令后面,一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的。这样所有的代码就已经成功提交了!

忽略文件

我们在进行提交代码操作的时候,一般并不是所有文件都需要加入到版本控制中。比如Android Studio项目结构中build目录下的文件都是编译项目时自动生成的,我们不应该将这部分文件添加到版本控制中,Git提供了一种可配性很强的机制实现这个功能。

Git会检查代码仓库的目录下是否存在一个名为.gitignore的文件,如果存在,就一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。注意.gitignore中指定的文件或目录是可以用“*”通配符的。

Android Studio在创建项目的时候会自动创建出两个.gitignore文件,一个在根目录下面,一个在app模块下面。我们只需要修改.gitignore文件中的内容,即可让一些文件不被添加到版本控制中。

比如app模块下的所有测试文件都只是给我自己使用的,我并不想把它们添加到版本控制中,那么就可以这样修改app/.gitignore文件中的内容:

/build
/src/test
/src/androidTest

注:第一行的/build是自带的。

下面再进行提交

git add .
git commit -m"First commit"

这样即可将app模块下的所有测试文件不被添加到版本控制中。

查看修改内容

有时我们写项目写到后面忘记了前面修改什么东西了,我们可以使用Git查看自上次提交后文件修改的内容。

在项目的根目录下输入如下命令:

git status

如果我们刚刚才提交过代码,那么Git会提示目前项目中没有任何可提交的文件。如果我们自上次提交代码已经做过了一些改动,那么Git会提醒哪个文件发生了更改。借助diff命令可以看到所有文件的更改内容:

git diff

如果只想查看MainActivity.java这个文件的更改内容,可以使用如下命令:

git diff app/src/main/java/com/example/coolweather/MainActivity.java

我们就可以看到具体的改动情况。其中,减号代表删除的部分,加号代表添加的部分。

撤销未提交的修改

有时我们写代码过于草率,将正常的功能的代码修改出了问题。不过不用着急,只要代码还没提交,所有修改的内容都是可以撤销的。

比如我们想要撤销对MainActivi.java中内容的修改,我们可以用这个命令:

git checkout app/src/main/java/com/example/coolweather/MainActivity.java

执行这个命令以后,我们对MainActivi.java做的一切修改都会被撤销。不过这种撤销方式只适用于那些还没执行过add命令的文件。如果我们想要对一个已经添加过的文件撤销修改,那么我们要先使用reset命令对其取消添加,然后才可以撤回提交。用法如下:

git reset HEAD app/src/main/java/com/example/coolweather/MainActivity.java

然后再使用checkout命令将修改的内容进行撤销。

查看提交记录

当一个项目开发了几个月之后,我们早就忘了每次提交都修改了哪些内容。我们可以使用log命令查看历史提交信息:

git log

每次提交记录都会显示提交id、提交人、提交日期及提交描述这四个信息。

如果我们只想查看其中一条记录,可以在命令中指定该记录的id,并加上 -1参数,表示我们只想看到一行记录:

git log 1fa380b502a00b82bfc8d84c5ab5e15b8fbf7dac -1

如果想要查看这条提交记录具体修改了什么内容,可以在命令中加入 -p参数:

git log 1fa380b502a00b82bfc8d84c5ab5e15b8fbf7dac -1 -p

分支的用法

分支的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。

如果想要查看当前的版本库中有哪些分支,可以使用git branch这个命令。如果项目中没有创建过任何分支,那么只会有一个master分支存在,也就是主干线。

建立分支可以用下面的命令:

git branch version1.0

这样就创建了一个名为version1.0的分支,然后再次输入git branch来检查一下:

你会发现master分支的前面有一个“*”号,说明目前我们的代码还是在master分支上的,我们可以用checkout命令将代码切换到别的分支上:

git checkout version1.0

这样我们就可以把代码切换到version1.0这个分支上了。

在某个分支上修改并提交的代码不会影响到其他的分支,如果我们在version1.0分支上修复了一个bug,在master这个分支上这个bug依然存在,我们可以使用merge命令完成合并操作:

git checkout master
git merge version1.0

这样就可以把version1.0分支上修改并提交的内容合并到master分支上了。

在合并分支的时候还有可能出现代码冲突的情况,这时候就需要自己慢慢找到并解决这些冲突了。

当我们不再需要version1.0这个分支的时候,可以用如下命令删除这个分支:

git branch -D version1.0

与远程版本库协作

比如现在有一个远程版本库的Git地址是:https://github.com/example/test.git,那么我们可以使用下面的命令将代码下载到本地:

git clone https://github.com/example/test.git

之后你在这份代码的基础上进行了一些修改和提交,再使用push命令将本地的修改内容同步到远程版本库上:

git push origin master

其中origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上。

对于将远程版本库上的修改同步到本地,Git提供了2种命令来完成此功能,分别是fetch和pull。先来讲讲fetch:

git fetch origin master

执行这个命令后,就会将远程版本库上的代码同步到本地,不过同步下来的代码不会合并到任何分支上去,而是会存放到一个origin/master分支上,这时我们可以通过diff命令来查看远程版本库上到底修改了哪些东西:

git diff origin/master

之后再调用merge命令将origin/master分支上的修改合并到主分支上:

git merge origin/master

而pull命令则是相当于将fetch和merge两个命令放在一起执行了

git pull origin master

将代码托管到GitHub上

注册GitHub账号并登陆,点击Start a project来创建一个版本库。可以对版本库命名,然后选择添加一个Android项目类型的.gitignore文件,并使用Apache License 2.0来作为该项目的开源协议。接着点击Create repository,这个版本库就创建完成了,红框里的就是这个版本库的Git地址。

然后打开Git Bash并切换到CoolWeather的工程目录下,输入下面的命令将远程版本库克隆到本地。

git clone https://github.com/jshguoxin/coolweather.git

现在我们需要将这个目录中的文件全部复制粘贴到上一层目录中,这样就能将整个CoolWeather工程目录添加到版本控制中去了。注意.git是一个隐藏目录,在复制的时候千万不要漏掉。另外,在上一层目录中也有一个.gitignore文件,将其覆盖即可。复制完成后将coolweather目录删除。

接下来应该把CoolWeather项目中现有的文件提交到GitHub上面,输入下面的命令:

git add .
git commit -m "First commit"
git push origin master

以上就是关于在Windows上操作Git的所有教程了,欢迎留言讨论!

本文属转载!!!

原文地址:https://www.cnblogs.com/heqiyoujing/p/9749097.html

时间: 2024-08-05 18:42:44

Git使用教程 Windows使用Git全攻略的相关文章

Windows Socket五种I/O模型——代码全攻略(转)

Winsock 的I/O操作: 1. 两种I/O模式 阻塞模式:执行I/O操作完成前会一直进行等待,不会将控制权交给程序.套接字 默认为阻塞模式.可以通过多线程技术进行处理. 非阻塞模式:执行I/O操作时,Winsock函数会返回并交出控制权.这种模式使用 起来比较复杂,因为函数在没有运行完成就进行返回,会不断地返回 WSAEWOULDBLOCK错误.但功能强大.为了解决这个问题,提出了进行I/O操作的一些I/O模型,下面介绍最常见的三种: Windows Socket五种I/O模型——代码全攻

maven教程全攻略

maven教程全攻略 我们在开发项目的过程中,会使用一些开源框架.第三方的工具等等,这些都是以jar包的方式被项目所引用,并且有些jar包还会依赖其他的jar包,我们同样需要添加到项目中,所有这些相关的jar包都会作为项目的依赖. 通常,一个java EE项目所依赖的jar包会有很多.然而,这还并非是主要问题,在管理这些jar包过程中,jar包的版本往往是最令人头疼的问题.选择一个jar包的版本,需要考虑它所依赖的jar包是否支持这个版本,并且还需要确认依赖它的jar包能不能对这个版本兼容. 所

[037] 微信公众帐号开发教程第13篇-图文消息全攻略

引言及内容概要 已经有几位读者抱怨“柳峰只用到文本消息作为示例,从来不提图文消息,都不知道图文消息该如何使用”,好吧,我错了,原本以为把基础API封装完.框架搭建好,再给出一个文本消息的使用示例,大家就能够照猫画虎的,或许是因为我的绘画功底太差,画出的那只猫本来就不像猫吧…… 本篇主要介绍微信公众帐号开发中图文消息的使用,以及图文消息的几种表现形式.标题取名为“图文消息全攻略”,这绝对不是标题党,是想借此机会把大家对图文消息相关的问题.疑虑.障碍全部清除掉. 图文消息的主要参数说明 通过微信官方

3D计算机图形学零起点全攻略(转)

3D计算机图形学零起点全攻略 这篇文章不包含任何技术知识,但我的希望它能指明一条从零开始通往3D领域的成功之路.我将罗列我看过的相关经典书籍作为学习文献,阅读规则是每进入下个内容,我都会假设已经完成前面全部的文献研习内容.相信若能按照这条路走到最后,会有所进益. 完成整部分内容需要具备基础: 英语:CET4以上 数学:精通数字加减乘除法. 物理:基本力学. 计算机:了解电脑的基本知识,熟练使用Windows. 电脑配置: CPU:双核1.5以上 显卡:NVIDIA GeForce8400G MS

.Net常用技巧_VS2005[C#] 操作 Excel 全攻略(转)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; using System.Data.SqlClient; using System.Data.

Linux(CentOS)搭建SVN服务器全攻略

虽然在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了.然而在linux上搭建SVN却非常繁琐,所以今天这篇文章就来一步一步教您如何在Centos上搭建SVN 安装#yum install subversion 1)创建svn用户#groupadd svn#useradd -g sky user//是将user加入到sky組內切换用户#su svn以后代码库的创建维护等,都用这个帐户来操作. 2)创建版本库编辑.bash_profile 加上如下配置SVN_HOME=

取代奶瓶Minidwep-gtk破解WPA 全攻略

取代奶瓶Minidwep-gtk 破 WPA 全攻略  目录 1. CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 2. 自带的字典破解不出密码时使用 U 盘外挂字典继续暴力破解密码 3. 将握手包拷贝到 Windows 系统下使用 ewsa 工具高速破解密码 4.破解 WPA 加密"握手包"字典的制作 一.CDlinux 下使用 minidwepgtk 获取握手包并使用自带的字典破解 插好网卡,在 minidwep-gtk 上面点鼠标右键选择执行. 跳

Emacs安装配置全攻略之一编译安装简单配置

/******************************************************************************************************************************************/ 原创作品,转载时请务必以超链接形式标明文章原始出处:http://blog.csdn.net/gqb_driver/article/details/29407717,作者:gqb666 /***************

【2015/7/22】SqlServer卸载重装全攻略!

请大家大声地告诉我,哪个软件最恶心.装了之后跟在电脑里面糊了一层泥,甩都甩不干净.之前手贱,重装系统后装了sqlserver2014的试用版.可惜过了半年试用期就到了.然后重装2012,2014卸载得不干净.一直装不了.恶心!一般人是搞不定的.. 我不是一般人.. 预备工作,去控制面板里面的程序和功能里面看自己安装的sqlserver 后面的日期是多少,记下来,这很重要. 首先卸载sqlserver,如何卸载呢?分步走: 1.去下载一个srvinstw软件,这个软件可以移除服务.用管理员身份运行