Git使用方法(Windows操作系统下)
来源:互联网 发布:长江证券 mac 编辑:程序博客网 时间:2024/06/17 20:16
文章参照于《第一行代码——Android》中关于git使用方法的内容
一、安装
(1)在http://msysgit.github.io/上下载Git安装包,下载后打开,一路Next即可安装完毕
(2)打开Git Bash命令行窗口,输入以下命令可用于配置用户名和用户邮箱:
输入 可用于查看用户名
输入 可用于查看用户邮箱
二、创建代码仓库
进入项目文件夹:
在这个目录下输入git init:
仓库创建完成后,会在项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是用来记录本地所有的Git操作的,可以通过ls –al命令来查看一下:
三、提交本地代码
首先要添加文件
添加单个文件:
添加一个文件夹:
添加目录下所有文件和文件夹:
有时候会报Warning:
原因:windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add. 时会出现提示。
解决方法:
先清空当前的代码仓库:
禁用自动转换:
重新创建代码仓库:
添加目录下所有文件及文件夹,会发现不再报Warning:
在以后git的使用过程中因为已经设置过一次,所以不需要再设置也不会报Warning了。
提交代码:
注意-m后面的字符串为提交的描述信息,一定要有,否则会被认定为不合法。
*在add之前忽略某些文件夹:
使用vim新建一个文件,名为 .gitignore:
在里面输入以下内容:
保存并退出(按esc键后输入:wq或者:x)都可以
输入git add .添加文件夹下未被忽略的所有文件夹和文件,然后执行commit命令(git commit –m “Test”)完成提交。
四、查看修改的内容
提交过的代码如果没有修改的话,输入git status会提示没有任何可提交的文件:
现在在某个文件中删掉某一行代码,再git status一次:
会提示src/com/test/electronicbook/LoginActivity.java文件中有改变
查看发生了那些改变可用命令git diff:
如果只想看到某文件的改变,可在diff后加文件路径(为了看得更清楚,又修改了一个文件):
撤销未提交的修改,使用checkout命令:
由于使用的是eclipse编程,所以在eclipse中会出现如下窗口:
建议在git bash中操作的时候文件不要处于打开的状态。
此时只会显示另一个文件发生改动,而撤销改动的文件不会有改动了:
这种方法只适用于还没有执行过add命令的文件,如果某个文件已经被添加过,则不能用这种方法进行撤销,做个测试。
现在仓库里有一个文件已被改动但还没有add,把它添加进去,然后查看修改:
此时执行checkout命令也无济于事了:
这种情况下应该先取消添加,再撤回提交,使用reset HEAD + 文件路径:
取消添加后会发现文件又变回了还未添加的状态:
然后再使用checkout命令撤销原来修改的内容:
五、查看提交记录
git log
每次提交记录都会包括提交id、提交人、提交日期以及提交描述四个信息。
现在修改某个文件后再提交一次:
然后查看记录:
当提交记录很多,要制定查看其中某一条记录时,可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一行记录:
如果不加上-1这个参数的话,会将这条记录及它之前的所有记录都打印出来:
如果要查看这条提交记录具体修改了什么内容,可以在命令中加入-p参数:
减号代表删除的部分,加号代表添加的部分(红色为删除部分,绿色为添加的部分)
六、查看当前项目的分支
git branch
当前项目还没有创建任何分支,因此只有一个master分支存在,也就是主干线。
新建一个分支,然后查看分支:
*代表当前所在分支
切换分支:
git checkout + 分支名
各自分支下会保留最新的commit上去的文件
合并操作:
首先要先切换到master分支上,然后再merge:
这里产生了冲突,需要手动解决冲突:
在merge之后,需要将master的文件add之后再commit一次,否则将不能切换其它分支:
add并commit之后:
括号内也会从(master|MERGING)变为(master)
当不再需要testVersion1.0这个分支的时候,可以删除它:
七、向将本地代码同步到远程版本库
创建一个远程版本库:
登录(如果没有账号的话就注册一个)GitHub后,通过右上角的创建仓库按钮创建一个新的仓库:
点击后出现如下列表:
Repositoryname是仓库名称,Description是对这个仓库的描述,默认勾选public,勾选Initialize this repository with a README会创建一个README.md文件,包含刚刚输入的仓库描述、添加.gitignore的话选择Android,协议选择Apache License 2.0。再点击一次Create repository即可完成创建仓库。
README.md中的内容:
远程版本库的地址:
以下实例与上面无关,用的是另外一个repository
将远程版本库克隆到本地:
获得远程版本库的Git地址后,进入项目文件夹,输入git clone https://github.com/sysukehan/electronicbook.git(远程版本库的git地址)将远程版本库克隆到本地:
此时在项目文件夹下会出现一个electronicbook的文件夹,里面是刚刚clone下来的三个文件和一个.git的隐藏文件夹:
将这四个文件拷贝(或剪切)至上一层,最终文件目录如下:
之前在github上新建项目时.gitignore选择了Android:
因此.ignore文件中已经将不需要添加到仓库中的文件列举好了:
接下来将项目中的文件提交到GitHub上:
将所有文件添加到版本控制:
在本地执行提交操作:
将提交内容同步到远程版本库,也就是GitHub上面:
其中origin 部分指定的是远程版本库的Git 地址,master 部分指定的是同步到哪一个分支上,上述命令就完成了将本地代码同步到https://github.com/exmaple/test.git这个版本库的master 分支上的功能。会提示输入GitHub上的用户名和密码:
验证正确后开始上传文件:
文件上传完毕:
刷新GitHub的项目主页,可以看到项目已经上传到主页上:
八、将远程版本库上的代码同步到本地
有两种命令:
1、fetch命令
git fetch origin master
执行这个命令后,就会将远程版本库上的代码同步到本地,不过同步下来的代码并不会合并到任何分支上去,而是会存放在到一个origin/master 分支上:
这时可以通过diff 命令来查看远程版本库上到底修改了哪些东西:
因为两个版本一样,所以没有修改的东西
之后再调用merge 命令将origin/master 分支上的修改合并到主分支上即可,如下所示:
代码一样也就没有冲突,merge完成。
2、pull命令
而pull 命令则是相当于将fetch 和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地,如下所示:
- Git使用方法(Windows操作系统下)
- Windows下Git的使用方法
- Windows下Git的安装和基本使用方法
- Windows下Git的安装和基本使用方法
- Git在基于windows平台下的简单使用方法
- Windows下Git的安装和基本使用方法
- Windows操作系统下文件大小限制(不断更新)
- Windows下Github使用方法
- Windows下Openocd使用方法:
- Git客户端TortoiseGit(Windows系统)的使用方法
- Git客户端TortoiseGit(Windows系统)的使用方法
- Git客户端TortoiseGit(Windows系统)的使用方法
- Git客户端TortoiseGit(Windows系统)的使用方法
- Git客户端TortoiseGit(Windows系统)的使用方法
- Android studio 下git使用方法
- windows 操作系统下安装ubuntu操作系统
- Linux操作系统下MySQL数据库的使用方法
- Linux操作系统下MySQL数据库的使用方法
- oracle 表,视图,索引,序列,同义词等操作集合
- 20160305 一个ISO安装多种版本的Windows 7
- asp链接access2010数据库
- Painlessly Deploying Data Apps with Bokeh, Flask, and Heroku
- 类加载机制
- Git使用方法(Windows操作系统下)
- Counting Sundays
- 依赖倒置原则
- JS引擎工作机制描述(转载)
- POJ 1837 Balance
- gdkoi2016记
- JS操作cookie
- 【making tools】:捕捉牡丹江医学院的网页数据
- MATLAB量化浮点数