git和svn不同,git可以不用服务器,在本地就可以进行版本的控制,当然也可以用服务器
git的所有版本信息都存.git目录中
使用git当然要先安装git,下面的说明我们都假安装了git
第一次使用要配置git
配置使用git仓库的人员姓名
git config --global user.name "Your Name Comes Here"
配置使用git仓库的人员email
git config --global user.email you@yourdomain.example.com
在git命令中开启颜色显示
git config --global color.ui true
这个命令是指定合并的工具
git config --global merge.tool mate
这些配置的信息可以在用户目录看到
mate ~/.gitconfig 上面就是我们配置的信息
####################################
.gitignore
这个命令可以过滤一些我们不想版本控制的文件
eg:
过滤文件夹设置:
/mtk/ 表示过滤这个文件夹
过滤文件设置
指定过滤某种类型的文件:
*.zip
*.rar
*.via
*.tmp
*.err
指定过滤某个文件:
/mtk/do.c
/mtk/if.h
####################################
git help可以获得git的基本命令
下面先说一基本的命令,然后再说几个使用的情景
git init这个是git的初始化命令,就是生成.git目录,生成版本控制仓库
以后所有的版本信息变化都存在这个版本库中
git add 将当前工作目录中的更改或都新增的文件加入到版本库中,这是提交前要做的一步
git add . 把所有的更改都加加入到版本库中,待提交
git commit -m “comment” 提交更改
git status 这里是查看文件的变化,查看是否提交到版本库,在一些操作前最好先用这个命 令查看一下
git rm 从当前的工作目录和版本库中删除文件
git rm -rf 某一个文件 强行删除某一个文件
git log 果看操作日志
git log -10 显示10个日志
git log --stat -summary 显示每次版本的详细变化
git show 版本号 就可以查看某一个版本的详细变化
git merge 合并命令,假设把new_branch分支合并到主分支,git merge
new_branch
git branch new_branch 生成新分支new_branch
git branch 列出本地分支,正使用的分支前面会有星号
git branch -a 列出所有分支
git diff 比较版本的区别 和某一个具体的版本比较可以用 git diff 版本号
比较任意分支 git diff 版本号1 版本号2
git checkout new_branch 切换到新分支new_branch,这个命令用来切换分支,如果本地有改变,切换的过 程不会删除修改,换到新的分支后再用
git clone 从别的地方把版本库信息考到本地方,例:git clone aaa@192.168.0.7:~/work/直到含有.git的目 录
git pull 把服务器上的的代码拉到本地并合并,例:git pull aaaa@192.68.0.7:~/work/直到含有.git的目录
git push 把代码传到服务器上使用和git pull一样
git remote show origin 通过git remote show origin来得到remote中的所有branch列表
上面是一些使用的基本命令的介绍,下面说一下git的使用情景
一个人的开发:
一个人开发的时候没有什么合作,可以创建任意分支,并把分支的代码合并到主支
这个时候可以不用什么服务器./git里就保存了所有的信息
首先创建一个文件夹,然后进入文件夹,
执行git init就完成了初始化,并默认在master主支,其实这里也是分支,git上没有主支分支的区分都是分支,只不过我们认为这个为主支
然后在这里创建我们的文件,假为a.txt,这个时候我想做些其它的东西,想在分支上做,于是我可以生成一个分支
git branch new_branch,生成之后我们还在master上,要转到分支上执行
git checkout new_branch 之后就可以在分支上进行相关的操作,比如新建了文件b.txt,并且修改了文件a.txt
这个时候分支上的开发到了一个段落想把分支的东西合并开主支上也就是master上,这个时候,先切换回master
git checkout master
这样就到了主支下面去了,要是想查看现在属于哪个分支,可以用git branch,就会显示所有分支,并且正在使用的分支前面会有一个星号
开始合并,git merge new_branch 这就是把分支的东西合并到主支,这里有两种情况,如果主支没有改动,就会直接自动合并,如果主支也有改动,可能会产生冲突,需要解决完冲突才能提交
上面的是一个人的开发情景
二个人的开发:
再介绍一些两个人的开发情景
首先一个人建了一个git库比如我们刚才一个人建的那个库,这个时候,想让另一个朋友过来一起开发,那么另一个朋友可以这样执行 git clone firstperson@192.168.0.5:~/work/直的到含有.git的目录
这样在朋友的机器上就有一个一模一样的版本,朋友可以在这个版本上进行开发,这时的开发就同一个人的开发时的情景一样,最后开发到一阶段,需要合并到我们的工程上
可以执行这样的命令 git pull 朋友的名字@192.168.0.6:~/work/直的到含有.git的目录
这样就把朋友的开发拉到本地方进行合并
下面介绍一下多人协作开发:
这时如果还是按照上面的情况有一个人来完成合并,那么可能需要做更多的工作,这个时候就需要建一个服务器,让每一个人都从服务器上拉,每一个跟服务器合并
假设有A,B,C三个和一个server,server上有一上版本库叫做r1
开发开始,首先都各自从服务器上拉下最新的代码
git clone 服务上的git库,其后每一个的开发就是合并上传自忆的代码
这个模式类似于svn,不一样的是每一个人在本地有一个自已的库,并可创建分支,可以建一个分支,在分支上进行开发,然后合并到自己的主支,再合并到服务器上,这样可以避免一些误操作,也可以有效的将本地的主分支保持干净
下面是参考的一些博客:
这三个是说明如何配置gitconfig的,包括配置比较工具等
http://hlee.iteye.com/blog/725184
http://blog.163.com/xc_win/blog/static/182291218201111281118615/
http://blog.csdn.net/shuhuai007/article/details/7276195
常用命令的说明:
http://lib.open-open.com/view/open1335879873983.html
使用情景介绍
http://blog.haohtml.com/archives/10129
分享到:
相关推荐
本文档主要是关于Git的使用经验,包括但不限于文件状态、操作命令以及合并分支等方面的知识点。Git的文件状态分为两类:tracked(被跟踪的文件)和untracked(未被跟踪的文件)。Tracked文件指的是Git仓库中已经记录...
git命令使用指南,从网上看到的,就做成了txt,自己就是看它入门的
### git的常用命令使用 #### 基本概念与初始化 - **Git**:一种分布式版本控制系统,可以高效地管理项目源代码的变化。 - **初始化仓库**:通过`git init`命令可以将当前目录初始化为Git仓库。若需在特定目录下...
git命令集合 git命令.md
Git命令的使用即创建需要的下载吧
git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git...
git命令-git命令-git命令-git命令
以上只是Git命令的一部分,实际使用中还有更多高级功能,如交互式重置(`git reset --interactive`)、合并冲突解决、cherry-pick(选择性合并)等。熟悉并掌握这些命令,将使你在版本控制和团队协作中更加得心应手。
- 使用`git init`命令初始化当前目录为Git仓库。 ```bash git init ``` 初始化成功后,会看到类似以下的输出: ``` Initialized empty Git repository in C:/Android/git-repositories/new_repository_1/.git...
使用该命令可以获取当前安装的Git版本信息。紧接着,进行Git的基本配置也很关键。使用 `git config --global user.email "***"` 设置Git的Email地址,`git config --global user.name "Your Name"` 设置用户名称,...
是最常用的Git命令,开发过程中不可缺少的部分,适合快速检索Git命令,使用起来方便快捷,尤其针对新手使用
git软件包包含了大部分Git命令,是必装的软件包,第二行命令也是Git软件包,但是是单独发布的,可以选择安装。 2 下载远程项目的GIT库到本地[code]$ git clone git://远程Git库地址 filename[code] filename 是你...
通常这种图片会用图形化的方式直观展示各种命令的用途,例如`git init`用于初始化一个Git仓库,`git add`用于将文件添加到暂存区,`git commit`用于提交暂存区的改动,`git push`用于将本地仓库的更改推送到远程仓库...
* 删除文件远端仓库 remote repositories:使用 `git rm` 命令删除文件,使用 `git remote` 命令管理远端仓库。 ### Git 分支 * 创建分支:使用 `git branch` 命令创建一个新的分支。 * 合并分支:使用 `git merge...
java代码同步,git命令使用和详细说明。常用的git命令都有,git工作区、暂存区、本地仓库、远程仓库,git工作区、暂存区、本地仓库、远程仓库
git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git常用命令总结git...
- **工作进度存储**:使用 `git stash` 命令可以暂时存储当前的工作进度。这对于需要切换任务场景时非常有用,可以在回到当前任务时恢复进度。 - **进度管理**:`git stash` 支持保存多个进度,可以通过 `git stash ...
使用命令`git config --global user.name "your_username"`和`git config --global user.email "your_registered_github_email"`设置这些信息。 4. 测试SSH密钥是否成功配置:可以使用`ssh -***`来测试是否能够成功...