git小结-ms

目录php

一、git是什么python

二、git怎么工做的git

三、git经常使用命令github

四、git提效工具缓存

五、git的技术用语服务器

 

 

 


 

 

一、git是什么框架

git是开源的分布式的版本控制系统,能够有效、高速地处理的项目版本管理。
git中存储是变动信息,而不是整个文件。ssh

总结git的两大特色:分布式

版本控制:能够解决多人同时开发的代码问题,也能够解决单人开发时找回历史代码的问题。
分布式:多台机器互为备份,同一个Git仓库,能够分布到不一样的机器上。能够本身搭建这台服务器,也可使用GitHub网站、gitee网站(属于osChina)、coding网站。

 

二、git怎么工做的工具

git的工做原理如图所示

 

 

 

三、git经常使用命令

命令和操做大全
部署git和git经常使用命令
一、建立公钥(3次Enter)
ssh-keygen -t rsa -C   git@gitee.com:andy9468/ttsx_sz3.git
错误处理
eval "$(ssh-agent -s)"
ssh-add
 
二、克隆
git clone git@gitee.com:andy9468/ttsx_sz3.git
 
三、查看全部分支
git branch
 
四、建立dev分支(建立分支会克隆当前分支的开发进度和状态)
git branch dev
 
五、删除分支(删除分支前,先切换到其余分支)
git checkout itcast1
git branch -d itcast22
 
六、将本地的当前分支推送到远程
git push origin dev
 
七、跟踪分支
做用是:使得本地的dev被用于跟踪(就是和远程的dev对比)
执行本命令前,须要向执行6,即把本地dev推送到远端dev
git branch --set-upstream-to=origin/dev dev
 
八、建立并切换到新分支
git checkout -b itcast1
小结:
(1)检查当前分支和远程分支的版本提交落后关系。
git checkout
(2)切换到分支itcast2
git checkout itcast2
(3)建立并切换到新分支
git checkout -b itcast1
 
九、将远程dev分支同步到本地(本地不须要本身新建dev2分支)
git checkout -b dev2 origin/dev
将远程itcast1同步到本地(本地不须要本身新建itcast1分支)
git checkout -b itcast1 origin/itcast1
 
十、被跟踪的dev还能够用pull同步到本地(先本地新建dev分支)
git checkout -b dev
git pull
 
本地已经有dev分支和项目文件时,同步到本地的命令过程:
git checkout dev
git pull origin dev
git reflog
git reset 10e2148
git checkout -- .
 
 
十一、查看工做区、缓冲区的被修改但还未提交(git commit)的文件
git status
或者(简要输出)
git status -s
 
十二、添加到缓冲区(完成一个文件,git add 一下)
git add .
 
1三、提交到本地版本库(完成一个业务逻辑,git commit一下)
git commit -m '部署框架'
若是没有新建的文件。能够不单独add,一次性提交:-a -m
git commit -a -m "Changed some files"
千万注意,-a不会形成新文件被提交,只能修改。
 
1四、将本地版本库推送到远程服务器(服务器至关于U盘)
就是将本地分支推送到服务器
git push origin itcast1
 
1五、将分支itcast1合并到公共分支dev
git checkout dev
git merge itcast1
git push origin dev
 
常见的合并过程
(1)合并分支(第一我的的合并):
git status
git checkout dev
git merge itcast1
git push origin dev
 
(2)第二我的开始合并分支前,须要先下载第一我的合并分支后,推到远程的dev分支
git checkout dev
git pull
git merge itcast2
 
(3)这步后,若是产生冲突,找写代码的人商量,决定怎么删留改。
处理bug,最好创建一个bug001分支(从须要改bug的分支,建立并切换到bug001分支)
git checkout dev
git checkout -b bug001
 
 
(4)修改处理bug,并合并,推送
1)在分支bug001下,改好后:提交本地
git add ./
git commit -m '解决冲突01'
 
2)并开始合并分支
git checkout dev
git pull
git merge --no-ff -m '解决冲突01' bug001
说明:
合并分支默认是引用合并(fast-forward),若是是把分支bug001合并到分支dev,就须要深拷贝合并(no-ff)。不然,删除bug001后就没办法引用了。
 
3)删除分支bug001
git branch -d bug001
 
4)推送分支dev到服务器
git push origin dev
 
(5)小技巧:将合并好的dev版本再合并给itcast2,推送到服务器
git checkout itcast2
git merge dev
git push origin itcast2
 
 
 
1六、查看日志(历史记录)
(1)完整的日志(commit后,而且push的记录)
git log(宏观。更适合克隆后,查看本地的远程项目的提交记录)
(2)简介版日志(只有本地commit后的记录,能够看到版本号)
git reflog(微观。更适合本地,强烈推荐)
 
1七、日志的2个做用
(1)对比两个版本的差别:git diff
1)比较最近(当前已commit)版本和工做区的差别
git diff HEAD -- ttsx/ttsx/urls.py
2)对比最近版本和上一次版本的差别
git diff HEAD HEAD^ -- ttsx/ttsx/urls.py
3)对比上一次版本和最近版本的差别
git diff HEAD^ HEAD -- ttsx/ttsx/urls.py
4)对比两个版本的差异(HEAD表示最近提交的版本,7c56139另外一个版本)
git diff HEAD 7c56139 -- ttsx/ttsx/urls.py
 
拓展:
一、查看工做区的变更
还没有缓存的改动:
git diff
 
二、查看缓冲区的变更
查看已缓存的改动:
git diff --cached
 
三、查看工做区、缓冲区的变更(至关于git status)
查看已缓存的与未缓存的全部改动:
git diff HEAD
 
四、显示变更摘要
显示摘要而非整个
git diff --stat
 
小结:git status(强烈推荐git status)、git diff 
git status  显示新建、修改、删除,
git diff      只显示修改,一行一行地显示这些改动具体是啥。
 
 
 
(2)回退到之前版本:git reset 8042a87
git reflog
git reset 8042a87
git status
git checkout -- ttsx/ttsx/urls.py
 
1八、历史版本,从仓库恢复到暂存区
git reset HEAD(或者版本号8042a87)
从暂存区恢复到工做区
git checkout -- 文件名
 
1九、保存现场(不想提交修改,可是必须切换到其它分支去解决bug时用)
git stash
 
20、恢复现场(bug修复后,回到之前的分支,并恢复现场)
git checkout itcast1
git stash pop
 
2一、配置
查看git全部配置信息  
git config --list
或者:查看某一个变量的值,
git config user.name
拓展:
配置用户信息,Ubuntu家目录python文件夹下
vi .gitconfig
 
 
2二、git rm
git rm 会将条目从缓存区中移除。这与 git reset HEAD 将条目取消缓存是有区别的。 "取消缓存"的意思就是将缓存区恢复为咱们作出修改以前的样子。
默认状况下,git rm file 会将文件从缓存区和你的硬盘中(工做目录)删除。
若是你要在工做目录中留着该文件,可使用 git rm --cached:
如咱们删除 hello.php文件:
git rm hello.php
不从工做区中删除文件:
git rm --cached README

四、git提效工具

git有一个实用的图像管理工具sourcetree。

图形操做,代码差别、分支状况、文件增删,直观易懂。

 

五、git的技术用语
(1)分支
各自的分支:一个开发人员一个分支,互不冲突。一个分支至关于一辆车的专属跑道。
dev公共分支:成员合并的分支,用于阶段性合并代码。
master主分支:发布版本的分支。
 
(2)工做区、版本库、服务器
工做区、版本库(包括暂存区和仓库区)、服务器(如:github、gitee、自搭建)
1)工做区:本地全部文件(除了.git)
2)版本库:.git
3)服务器:至关于共用U盘

 

 

查看工做区改动,git diff
查看暂存区改动,git diff --cached
相关文章
相关标签/搜索