1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题

1新建一个存储git的文件夹,命令是:
toto@toto-K45VD:~$ mkdir gitfolder

2初始化一个git仓库,命令是:
toto@toto-K45VD:~$cd gitfolder/
toto@toto-K45VD:~/gitfolder$ls
toto@toto-K45VD:~/gitfolder$git init
初始化空的 Git版本库于 /home/toto/gitfolder/.git/
		
注意:如果是第一次使用git,还要对git对进行如下配置
git config --global user.email "yourEmail@qq.com"
git config --global user.name "tuzuoquan"

3 显示仓库内的所有内容,命令是:
toto@toto-K45VD:~/gitfolder$ll
总用量 12
drwxrwxr-x 3 toto toto 4096 11月 22 23:12 ./
drwxr-xr-x 31 toto toto 4096 11月 22 23:09 ../
drwxrwxr-x 7 toto toto 4096 11月 22 23:12 .git/

4 查看git仓库状态
toto@toto-K45VD:~/gitfolder$ git status
位于分支 master
初始提交
无文件要提交(创建/拷贝文件并使用"git add" 建立跟踪)
toto@toto-K45VD:~/gitfolder$

5 在仓库里面创建一个文件,并将这个文件添加到仓库中(注意也可以使用git add .将之添加到版本仓库中)
toto@toto-K45VD:~/gitfolder$ touch readme.txt
toto@toto-K45VD:~/gitfolder$ git status
位于分支 master
初始提交

未跟踪的文件:
  (使用 "git add <file>..." 以包含要提交的内容)
    readme.txt
提交为空,但是存在尚未跟踪的文件(使用
	"git	add" 建立跟踪)
toto@toto-K45VD:~/gitfolder$ls
readme.txt

6 将新建的文件添加到跟踪,命令如下:
toto@toto-K45VD:~/gitfolder$ git status
位于分支 master
初始提交
要提交的变更:
  (使用 "git rm --cached <file>..." 撤出暂存区)
	新文件:readme.txt

toto@toto-K45VD:~/gitfolder$

7讲readme.txt提交到git版本仓库,命令如下:
toto@toto-K45VD:~/gitfolder$git commit -m 'commit readme.txt'
[master(根提交) ad32b61]
commit readme.txt
 1  file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 readme.txt
toto@toto-K45VD:~/gitfolder$git status
位于分支 master
无文件要提交,干净的工作区
toto@toto-K45VD:~/gitfolder$

8查看当前分支信息,命令如下:
toto@toto-K45VD:~/gitfolder$git branch
*master
	
或者使用
git branch -a

9查看日志信息,命令如下:
toto@toto-K45VD:~/gitfolder$]git log
commit ad32b612b632ab62e6fe46630f3c6b03a1ff1ce3
Author: tuzuoquan <you@example.com>
Date:Sat Nov 22 23:31:12 2014 +0800

    commit readme.txt
toto@toto-K45VD:~/gitfolder$]git status
位于分支 master
无文件要提交,干净的工作区
toto@toto-K45VD:~/gitfolder$

10编辑readme.txt中的内容,并将之添加跟踪,并将之提交到版本仓库中去
readme.txt中的内容如下:
23:39 master readme.txt
			
查看git版本的状态,将readme.txt添加到git上.整个过程的命令如下:
toto@toto-K45VD:~/gitfolder$git status
位于分支 master
尚未暂存以备提交的变更:
  (使用 "git add <file>..." 更新要提交的内容)
  (使用 "git checkout -- <file>..." 丢弃工作区的改动)

	修改:readme.txt

修改尚未加入提交(使用 "git add" 和/或"git commit -a")
toto@toto-K45VD:~/gitfolder$git add readme.txt
toto@toto-K45VD:~/gitfolder$git status
位于分支 master
要提交的变更:
  (使用 "git reset HEAD <file>..." 撤出暂存区)

	修改:readme.txt

toto@toto-K45VD:~/gitfolder$git add readme.txt
toto@toto-K45VD:~/gitfolder$git commit -m 'commited after modify'
[master b5c97f9] commited after modify
 1 file changed, 2 insertions(+)

11创建一个develop分支,查看所有的分支,命令如下:
toto@toto-K45VD:~/gitfolder$git branch develop
toto@toto-K45VD:~/gitfolder$git branch -a
  develop
*master
toto@toto-K45VD:~/gitfolder$

12查看git的日志信息
toto@toto-K45VD:~/gitfolder$git log
commit b5c97f9ad74458b1ec6a7fc38684305e45fff4de
Author:tuzuoquan <you@example.com>
Date:Sat Nov 22 23:49:49 2014 +0800

    commited after modify

commit ad32b612b632ab62e6fe46630f3c6b03a1ff1ce3
Author: tuzuoquan <you@example.com>
Date: Sat Nov 22 23:31:12 2014 +0800

    commit readme.txt
toto@toto-K45VD:~/gitfolder$

13切换到develop的分支,命令如下:
toto@toto-K45VD:~/gitfolder$git checkout develop
切换到分支 'develop'
toto@toto-K45VD:~/gitfolder$ls
readme.txt
toto@toto-K45VD:~/gitfolder$git branch
*develop
  master
toto@toto-K45VD:~/gitfolder$	

14创建2.txt,并将文件添加到对应的分支的版本仓库中.
toto@toto-K45VD:~/gitfolder$touch 2.txt
toto@toto-K45VD:~/gitfolder$ls
2.txt readme.txt
toto@toto-K45VD:~/gitfolder$git status
位于分支 develop
未跟踪的文件:
  (使用 "git add <file>..." 以包含要提交的内容)

	2.txt

提交为空,但是存在尚未跟踪的文件(使用"git add" 建立跟踪)
toto@toto-K45VD:~/gitfolder$vi 2.txt


14 切换到develop分支


toto@toto-K45VD:~/gitfolder$ git checkout develop

已经位于
'develop'

查看切换后的分支

toto@toto-K45VD:~/gitfolder$ git branch -a

* develop

  master

toto@toto-K45VD:~/gitfolder$ ls

2.txt  readme.txt

15 转换到master分支然后创建一个


toto@toto-K45VD:~/gitfolder$
git checkout master

切换到分支 'master'

创建一个分支develop2

toto@toto-K45VD:~/gitfolder$ git branch develop2

toto@toto-K45VD:~/gitfolder$ git checkout develop2

切换到分支 'develop2'

toto@toto-K45VD:~/gitfolder$ ls

2.txt  readme.txt

16 切换分支信息,并查看所在分支信息


toto@toto-K45VD:~/gitfolder$
git checkout develop

切换到分支 'develop'

toto@toto-K45VD:~/gitfolder$ git branch

* develop

  develop2

  master

toto@toto-K45VD:~/gitfolder$

toto@toto-K45VD:~/gitfolder$ git branch

* develop

  develop2

 
master

toto@toto-K45VD:~/gitfolder$ ls

2.txt  readme.txt

对develop分支中的readme.txt文件中的内容进行修改

toto@toto-K45VD:~/gitfolder$ vi readme.txt

toto@toto-K45VD:~/gitfolder$ git status

位于分支 develop

尚未暂存以备提交的变更:

  (使用 "git
add <file>..." 更新要提交的内容)

  (使用 "git checkout -- <file>..." 丢弃工作区的改动)

       修改:         readme.txt

未跟踪的文件:

  (使用 "git add <file>..." 以包含要提交的内容)

       .2.txt.swp

       2.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

toto@toto-K45VD:~/gitfolder$

//将修改添加到分支

toto@toto-K45VD:~/gitfolder$
git add .

toto@toto-K45VD:~/gitfolder$ git commit -m 'xiugai'

[develop 722fbeb] xiugai

 3 files changed, 2 insertions(+)

 create mode 100644 .2.txt.swp

 create mode 100644 2.txt

17 切换分支到branch上,同时也修改develop分支中的文件readme.txt文件


toto@toto-K45VD:~/gitfolder$
git branch

* develop

  develop2

  master

toto@toto-K45VD:~/gitfolder$ git checkout develop2

切换到分支 'develop2'

toto@toto-K45VD:~/gitfolder$ ls

readme.txt

toto@toto-K45VD:~/gitfolder$ vi readme.txt

toto@toto-K45VD:~/gitfolder$
git status

位于分支 develop2

尚未暂存以备提交的变更:

  (使用 "git add <file>..." 更新要提交的内容)

  (使用 "git checkout -- <file>..." 丢弃工作区的改动)

       修改:         readme.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

toto@toto-K45VD:~/gitfolder$
git commit -m 'develop2 commited after modified'

位于分支 develop2

尚未暂存以备提交的变更:

修改:         readme.txt

修改尚未加入提交

toto@toto-K45VD:~/gitfolder$ git add .

toto@toto-K45VD:~/gitfolder$ git commit -m 'develop2 commited after modified'

[develop2
8e8dc62] develop2 commited after modified

 1 file changed, 1 insertion(+)

toto@toto-K45VD:~/gitfolder$

18 先将develop合并到master,并解决合并冲突问题


toto@toto-K45VD:~/gitfolder$
git merge develop

自动合并 readme.txt

冲突(内容):合并冲突于 readme.txt

自动合并失败,修正冲突然后提交修正的结果。

toto@toto-K45VD:~/gitfolder$

冲突的内容如下:

23:39 master readme.txt

<<<<<<< HEAD

11 : 00

=======

08:47 修改

>>>>>>> develop

为了解决合并时出现的冲突,需要修改readme.txt中的内容,修改后的内容如下:

23:39
master readme.txt

08:47 修改

19 查看状态,并将修改正确后的文件提交到仓库中


toto@toto-K45VD:~/gitfolder$ git status

位于分支 develop2

您有尚未合并的路径。

  
(解决冲突并运行 "git commit")

要提交的变更:

新文件:       .2.txt.swp

新文件:       2.txt

未合并的路径:

   (使用 "git add <file>..." 标记解决方案)

双方修改:     readme.txt

20 将修改后的所有内容添加到仓库中


toto@toto-K45VD:~/gitfolder$
git add .

toto@toto-K45VD:~/gitfolder$ git status

位于分支 develop2

所有冲突已解决但您仍处于合并中。

   (使用 "git commit" 结束合并)

    要提交的变更

新文件:       .2.txt.swp

新文件:       2.txt

修改:         readme.txt

toto@toto-K45VD:~/gitfolder$
git commit -m 'commit all'

[develop2 749fb3c] commit all

toto@toto-K45VD:~/gitfolder$

查看修改后的内容

toto@toto-K45VD:~/gitfolder$ cat readme.txt

23:39 master readme.txt

08:47 修改

toto@toto-K45VD:~/gitfolder$


				
时间: 2024-08-22 15:20:04

1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题的相关文章

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目讲的,上篇主要是说用GUI来图形化界面操作,但是一般我们程序员也不会这么干,用命令又轻松又愉悦,所以,这里我就再开了一篇来专门说一下纯命令是怎么去操作的,但是要注意哦,其实廖雪峰老师的网站就是非常赞的学习资源哦! 廖雪峰老师:http://www.li

Android模拟器实现手机添加文件到sd卡的方法_Android

本文实例讲述了Android模拟器实现手机添加文件到sd卡的方法.分享给大家供大家参考,具体如下: 在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:Failed to push XXXXX.txt on emulator- : Read-only file system的错误,原因是你的sdcard权限不够,需要直接创建一个SDCARD . 一.首先创建SDCARD  我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束)  进入DOS  指向  目录 E:\a

Git与GitHub学习笔记(二)提交的一些笔记

1.合并分支的使用一定要切换到master分支上去合并:git merge company2.切换分支的时候一定要提交干净本地分支的代码,才可以切换分支,否则提示错误信息: 3.这时候我们做的就是提交干净本地的代码,再次切换即可以 4.下来我们要合并一个远程的分支home分支到master主分支上去, 发现上面的做法是错误的,下面我们更正后再次合并 5.好了,我们总算合并了,但是代码到哪里去了来,告诉你,代码这会是跑到你本地来了,而远程仓库的master还是没有代码的,代码还是在本地仓库(sta

Android模拟器实现手机添加文件到sd卡的方法

本文实例讲述了Android模拟器实现手机添加文件到sd卡的方法.分享给大家供大家参考,具体如下: 在DDMS中直接添加文件到模拟器sd卡如果出现错误类似:Failed to push XXXXX.txt on emulator- : Read-only file system的错误,原因是你的sdcard权限不够,需要直接创建一个SDCARD . 一.首先创建SDCARD  我创建的sdcard名为:sdcard.img(名字随便取,以img后缀名结束) 进入DOS  指向  目录 E:\an

调用winzip命令行对上传的多个文件打包压缩

打包|命令行|上传|压缩 如何在服务器端调用winzip命令行对上传的多个文件打包压缩? 要解决这个问题,首先要了解一下Windows Scripting Host,简称为WSH!下面引用一下微软给的解释:*************************************************************************  WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,     **  在这个环境中,预定义了一些对象,同时也可以使用COM里的其他

如何在服务器端调用winzip命令行对上传的多个文件打包压缩?(天乐原创)

打包|服务器|命令行|上传|压缩|原创 如何在服务器端调用winzip命令行对上传的多个文件打包压缩? 要解决这个问题,首先要了解一下Windows Scripting Host,简称为WSH!下面引用一下微软给的解释:*************************************************************************  WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,     **  在这个环境中,预定义了一些对象,同时也可以使用

Ubuntu如何查看和批量修改文件编码

我们都知道在Windows下文件编码默认为gbk或者是gb2312,但很多用户有时需要把Windows下的文件移到Linux系统中,所以转移后就经常出现乱码的情况,这该怎么办呢?接下来小编就给大家介绍下Ubuntu查看和批量修改文件编码的方法. 使用enca工具可以进行文件编码的查看. Ubuntu下的安装命令: sudo apt-get install enca enca查看文件 enca -L zh_CN file 查看文件编码 enca -L zh_CN -x UTF-8 file 更改文

酷盘iPhone(iPad)版如何离线查看酷盘中的文件

  酷盘iPhone(iPad)版离线查看酷盘中的文件的方法如下: 方法一:如文件已在酷盘中查看过,进入应用后,找到文件即可离线查看. 方法二:添加文件至收藏列表.

AjaxFileUpload结合Struts2实现多文件上传(动态添加文件上传框)

上篇文章http://www.jb51.net/article/124489.htm介绍了ajaxfileupload实现多文件上传, 但只是固定的文件个数,如果需求不确定是多少文件 则我们就需要动态的添加文件上传框,以实现灵活性. 基于上篇基本框架是不变的,主要修改以下几个方面 1.jQuery实现动态添加删除文件上传框 2.获取文件上传框的ID 3.ajaxfileupload.js里将ID数组转换为需要的Object数组 依次解决上面问题 一.实现动态添加删除文件上传框 <body> &