git
Git-分布式版本控制系统
1.
基本命令
创建一个test的版本库 $ mkdir testgit
通过命令 git init 把这个目录变成git可以管理的仓库
这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了
2.
在版本库testgit目录下新建一个记事本文件 readme.txt :
操作如下:
第一步:使用命令git add readme.txt添加到暂存区里面去
第二步:用命令git commit告诉Git,把文件提交到仓库
通过命令git status来查看是否还有文件未提交
想看下readme.txt文件到底改了什么内容 :git diff readme.txt
查看历史纪录:git log(可以查看最近三次)
pwd命令用于显示当前目录
把当前的版本回退到上一个版本:git reset –hard HEAD^
说明:
如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推
2.
TortoiseGit
(1)添加:
本人编写文件+add到本地仓库+push到中央仓库 :与svn(直接到中央仓库)不同之处
(2)从中央仓库调取:
pull(一般情况下用pull)=fetch(第一步)+merge(第二步)
3.
发送请求时访问:
……/工程名/pull-requests/……
4.
关于Git:http://blog.csdn.net/fen584521/article/details/52123379
5.
注意事项:
(1)修改文件之前,一定要先git pull,保证修改的是最新的版本;
(2)git push之前一定要先git pull,因为可能别人修改相同的文件并已commit,应该merge过来,一并push
(3)git commit 和git push时都要diff,确认修改的内容是自己要修改的
6.
关于origin,线上的所有分支在本地显示的时候都是在这个目录下,但是本身不是一个分支,远程的是叫——origin的仓库
Pull = fetch+merge
更新(拿)远程仓库的代码到本地仓库 然后将内容合并到当前分支
总之,git pull相当于git fetch后再做一个git merge
说明:
git其实有好几个区,工作区(workspace)、暂存区(index)、本地仓库(local repository),当然还有远程仓库(remote repository)。远程仓库为我们保存一份代码拷贝,如github,而工作区、暂存区和本地仓库都在本地,这就是为什么没有网络我们也照样使用git提交(commit)代码更新,因为提交仅是提交到本地仓库,待有网络之后可以再推送(push)到远程仓库。
正如上图所示,git fetch是将远程仓库的更新获取到本地仓库,不影响其他区域。而git pull则是一次性将远程仓库的代码更新到工作区(同时也会更新本地仓库)。
首先把develop分支merge到自己的分支上,才会知道别人是否改动了
关于pull request:
(1)先把改过的东西提交(push)到自己的分支上。
(2)然后提交pull request请求:左侧pull request ->create pull request
看哪个分支的代码:
(1) Workspace先切换到那个分支
(2) 然后从将那个分支的代码merge到workspace
(3) 就得到了那个分支的代码
7.
Git命令:
(1)$ git status 查看当前工作区
(2)$git checkout develop 切换分支
(3)$git pull origin gxw
(4)$git add src/main/java/…….java
(5)$git commit -m “resove confilct”
(6)$git push origin HEAD
(7)$git push