git命令学习

git命令学习

首先应该配置一下你的身份,这样在提交代码的时候 Git 就可以知道是谁提交的了,命令如下所示:

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

查看全局的用户名和用户提交邮箱直接输入下面命令回车

git config --global user.name
git config --global user.email

使用git init 完成创建代码仓库。

使用git add . 表示添加全部的代码,git add src添加src目录

git add Test.java添加单个文件

git commit -m “first commit” 将之前add进的代码提交。

忽略文件,在git init初始化的时候会生成一个.gitignore的文件,用记事本打开后可以对相关需要忽略的文件或文件夹进行忽略。可以使用*通配符,

如:*.apk

使用git查看修改内容;比较理想的情况是,没编写一个功能就提交一次,避免到时候出现代码冲突。那如何用git查看自己修改的状态呢?

在项目的根目录下输入git status 查看状态。

如果状态显示的是modified已修改状态,可以使用git diff 查看所有文件的更改内容。git diff src/com/example/providertest/MainActivity.java查看单个文件的修改内容。

显示+号为添加的内容,显示-号为删除的内容。

如果想撤销之前修改还未add的内容,可以使用git checkout <单个文件>

那对于那些已经add过了的文件如何撤销修改呢?

先使用git reset HEAD <单个文件>,然后你可以看用git status看下状态,是否处于还未add状态,然后又可以使用git checkout撤销修改了。

使用git log查看提交的记录,使用git log <提交的很长一串id号> -1 -p 查看具体提交的内容。

分支

*你也许会有疑惑,为什么需要建立分支呢,只在主干线上进行开发不是挺好的吗?没错, 通常情况下,只在主干线上进行开发是完全没有问题的,不过一旦涉及到出版本的情况,如 果不建立分支的话,你就会非常地头疼。举个简单的例子吧,比如说你们公司研发了一款不 错的软件,最近刚刚完成,并推出了 1.0 版本。但是领导是不会让你们闲着的,马上??出了 新的需求,让你们投入到了 1.1 版本的开发工作当中。过了几个星期,1.1 版本的功能已完成 了一半,但是这个时候有用户反馈,之前上线的 1.0 版本发现了几个重大的 bug,严重影响 软件的正常使用。领导也相当重视这个问题,要求你们立刻修复这些 bug,并重新发布 1.0 版本,但这个时候你就非常为难了,你会发现根据没法去修复这些 bug。因为现在 1.1 版本 已开发一半了,如果在现有代码的基础上修复这些 bug,那么更新的 1.0 版本将会带有一半 1.1 版本的功能!

进退两难了是不是?但是如果你使用了分支的话,就完全不会存在这个让人头疼的问 题。你只需要在发布 1.0 版本的时候建立一个分支,然后在主干线上继续开发 1.1 版本的功 能。当 1.0 版本上发现任何 bug 的时候,就在分支线上进行修改,然后发布新的 1.0 版本, 并记得将修改后的代码合并到主干线上。这样的话,不仅可以轻松解决掉 1.0 版本存在的 bug, 而且保证了主干线上的代码也已经修复了这些 bug,当 1.1 版本发布时就不会有同样的 bug 存在了。*

使用git branch -a查看总共多少分支

使用git branch version1.0创建分支版本。

使用git checkout version1.0可以切换到分支版本上。

在 version1.0 分支上修改并提交的代码将不会影响到 master 分支。同样 的道理,在 master 分支上修改并提交的代码也不会影响到 version1.0 分支。

可以试着在version1.0分支上修改个文件然后add commit提交完成后,然后git checkout master切换到主分支上去,你会发现之前在version1.0分支上修改的文件在主分支上没有修改过。这个就是分支的好处。

但是这时候需要在主分支上合并version1.0分支上的修改怎么办?

使用git merge version1.0 进行合并修改。这时候你去看master分支上的文件已经合并了version1.0里修改的文件了。

使用git branch -D version1.0 删除掉version1.0分支。

使用git clone https://github.com/fancychendong/DragExpandListView.git将远程版本库的git项目下载到本地。

使用git push origin master可以将修改提交到远处git版本库中,需要等待链接,然后会提示你输入用户名和密码。这里我为了测试就用自己github上的项目,输入的用户名和密码都是自己github的用户名和密码。

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

关于使用ssh keys认证账号,可以免去每次提交的时候都需要输入账号密码的步骤。具体方法见官方说明https://help.github.com/articles/generating-ssh-keys/

时间: 2024-10-11 01:06:16

git命令学习的相关文章

Git命令学习之旅——日志和穿梭版本号

在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入命令之后,例如以下图所看到的: 提示已经删除了"c.txt"文件.这个时候再用git status查看一下状态,例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JB

Git命令学习之旅——日志和穿梭版本

在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令,日志查看命令等 既然有添加文件的功能,那么相对应的肯定有移除文件的功能,命令如下:git rm [文件名] 在输入命令之后,如下图所示: 提示已经删除了"c.txt"文件,这个时候再用git status查看一下状态,如下图: 接下来的操作就和正常的添加操作一样了,add到暂存区,commit到分支,最后push到远程库(可以点击Git命令学习之旅--基础操作查看) 如果我们已经将文件修改了之后添加到了暂存

【Todo】git的fast forward &amp; git命令学习

git的fast-forward在之前的文章有介绍过,但是介绍的不细: http://www.cnblogs.com/charlesblc/p/5953066.html fast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并.属于"快进方式",不过这种情况如果删除分支,则会丢失分支信息.因为在这个过程中没有创建commit squash 是用来把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么

Git命令学习总结(-)

入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净.还好,回家自己练习一下,总会没有错的.git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了. 直接上命令查看所有的git命令非常简单,直接在控制台输入 git,可以看到: lswdeMacBook-Pro:GitHub lsw$ git usage: git [--version] [--help] [-C <path>] [-c name=value] [--exec-path[=&

git 命令学习

网上由很多关于该命令的文章,但是千篇一律的复制粘贴,虽然本身的内容已经说得十分完整,但是只有一两种解释难免会使得某些地方理解不透彻或者某些地方的理解会有偏差,因此在这里写下一些自己的学习心得. git rebase 这个命令在一开始的时候看了很多图解,知道是将某些变更重做一遍,但是在真正使用过程中会遇到一些问题从而导致没法继续使用,原因在于没有真正理解其含义. git rebase的rebase其实可以硬将它翻译成变基(一开始觉得很别扭为什么这样翻译,但是当真的理解后才发现这样翻译的意图),即将

git命令学习汇总

GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git config user.name "Your Name Comes Here"  设置当前项目git用户名 git config --global user.name "Your Name Comes Here"  设置全局项目git用户名 git config user

Git版本控制软件结合GitHub从入门到精通常用命令学习手册

GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划分,并且将提供日常使用中需要的一些常用的命令以及参数. 本手册将从入门到精通指导大家. 首先,我们要从如何以 Git 的思维方式管理源代码开始. 如何以 GIT 的方式思考(这里可以不用看懂,接着看下面的内容,看完就全懂了.) 懂得 Git,第一件重要的事情就是要知道它与 Subversion.Perforce 或者任何你用过的版本控制工具都有

(转) Git版本控制软件结合GitHub从入门到精通常用命令学习手册

转载自:爱分享 » Git版本控制软件结合GitHub从入门到精通常用命令学习手册 原文传送门: http://www.ihref.com/read-16369.html 注意: 学习前请先配置好Git客户端 相关文章:Git客户端图文详解如何安装配置GitHub操作流程攻略 官方中文手册:http://git-scm.com/book/zh GIT 学习手册简介 本站为 Git 学习参考手册.目的是为学习与记忆 Git 使用中最重要.最普遍的命令提供快速翻阅. 这些命令以你可能需要的操作类型划

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop