编程开发 购物 网址 游戏 小说 歌词 快照 开发 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 编程 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
移动开发 架构设计 编程语言 互联网 开发经验 Web前端 开发总结
开发杂谈 系统运维 研发管理 数据库 云 计 算 Java开发
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
  编程开发知识库 -> 研发管理 -> Git常用操作总结 -> 正文阅读
 

[研发管理]Git常用操作总结[第1页]

安装
a、Ubuntu安装Git只需要直接使用 apt-get install git
b、 通用的安装方法,下载源码编译安装:进入config目录,一次使用make, make install 编译安装即可
配置自己的git账户,可以是github,coding等等。

git config --global user.name "账户名称"
git config --blobal user.email "邮箱"

创建仓库并提交
仓库:亦即版本库,在项目根目录下,输入 git init 进行版本库创建或者重新初始化一个版本库。
版本库创建完成后,会在项目根目录下生成一个 .git 目录,存放着git进行版本控制所需要的一些文件。具体目录文件如下:

其中,有几个目录和文件比较重要,分别是:
Objects 目录:存储所有的数据内容
refs 目录:存储指向数据(分支)提交对象的指针
HEAD 文件:指示目前被引用的分支, 使用git branch 切换分支或git commit 提交等操作时就会用到HEAD 文件信息
index 文件:存放暂存区信息
这里,由于没有进行 git add 目录将项目文件添加到暂存区,没有index文件,只要执行 git add . 再次查看就可以看到index文件了
这里,我先创建一个 text 文件,然后使用 git status 查看当前状态:

最后,使用 git commit -m "first commit" 进行提交即可将当前版本的项目提交到仓库。
其中 -m后面带的是此次提交的信息,通常是写本次提交所做的改动说明。
然后修改text文件,我这里输入仅 first line ,然后使用 git diff text 查看text文件的改动:

可以看到 first line 前面有个 + 号,表示新增加的内容,而对已提交的内容进行删除,使用 git diff 查看时就会显示 - 号
这里,单单使用 git diff 仅仅只是查看已经修改但还没暂存的变化,而使用 git diff --cached 命令可以查看已经暂存的对比上次提交的变化
再次使用git add text 将text文件的修改保存到暂存区(每次提交前都得先暂存,否则将会报 change not staged for commit ,并且提交失败, 但可以通过给commit 命令添加 -a 参数来跳过add步骤),然后进行提交 `git commit -m “add content first line “
使用.gitignore 文件来忽略不必要提交的文件,一下是 .gitignore文件的语法规则:
配置的都是忽略的文件: 例如*.class 表示忽略所有的class文件 忽略目录使用 /directory, 例如:/build 表示忽略build目录
撤销修改:
未暂存(执行add命令)的:直接使用 git checkout -- filename 进行撤销即可 已暂存的需要分两步:
先使用git reset HEAD filename 撤销暂存 然后再使用 git checkout -- filename 撤销修改 撤销提交:
撤销上一次的commit :git revert HEAD 撤销上上次的commit: git revert HEAD^ 撤销特定的commit : git revert commit_id 查看提交记录:
查看所有提交记录:git log, 加 -p 参数可以显示每次提交所做的改动,注意这里和很多git命令一样,也可以通过文件名对单个文件进行操作,如: git log -p text 查看对text文件的提交的修改 查看最近n次提交记录: git log -n 查看某次提交记录: git log id 这里的id是指commit的id 移除文件:
移除跟踪(从暂存区移除)但不删除文件: git rm --cached filename 移除跟踪同时删除文件: git rm filename 分支
初始化后会自动创建一个master分支 (从当前分支)创建新分支: git branch -b branchname 查看分支: git branch -a 带 * 的是当前正在编辑的分支 切换分支: git checkout branchname 合并分支,这里直接沿用上面的例子:
先新建分支branch2: git branch branch2 切换到branch2: git checkout branch2 在text文件中添加一行: second line 切换回master分支: git checkout master 现在将branch2 做的改动合并到master分支上:git merge branch2 删除分支: git branch -D branchname
与远程版本库协作
下载版本: git clone remote_repository_address remote_repository_address 是项目地址 git remote origin 查看远程版本库origin的信息 提交本地版本库改动到远程版本库: git push origin master ( origin 是指远程版本库名称,master是指要提交的分支) 将远程版本库上的修改同步到本地:git fetch origin master 查看远程版本库所做改动(相对于指定分支,这里是master分支):git diff origin/master 合并到本地分支: git merge origin/master git pull origin master相当于fetch和merge一起执行 类似的,git push origin master 表示将本地修改推送到远程origin仓库的master分支 关联远程仓库(例如,本地有一个写好的项目,现在要与远程新建的仓库关联,好把本地仓库的内容推送到远程仓库), 是用 git remote add origin remote_repository_address , 其中,origin是Git中远程仓库的默认名字。
这个过程其实还涉及Git的远程引用,假如推送到的远程分支是master,则会在生成 .git/refs/remote/origin/master 文件,origin代表远程仓库,master代表远程分支。
这里还要注意,虽然可以通过checkout来切换远程分支,但是并不会改变HEAD 文件的引用值,远程引用时只读的。
标签功能
一个标签实际是对应着一次commit,由于commit的id值不好记,标签就相当于给一次commit取一个好记的名字。
创建标签: git tag tagname 如:git tag v1.0 创建了一个名字为 v1.0 的标签, 可以通过 -m 参数添加附加信息
也可以指定某次commit 的id,直接在tagname后面:git tag tagname commit_id
删除标签: git tag -d tagname
列出所有标签: git tag
将本地标签推送到远程仓库: git push origin -tags
标签的用途:标签相当于一个快照,是不能像分支一样进行修改,但可以通过标签创建出一个分支: git checkout -b branchname tagname , 然后再对该分支进行编辑
储存分支工作现场
我觉得这个才像是一个快照,可以把未提交的修改储存起来。
使用:git stash
储存后,使用 git status 查看状态,不会显示未提交的内容。可以从这里创建新的分支完成其他的工作。
然后是恢复存储的修改:
可以先使用 git stash list 列出所有的存储点。
然后使用git stash apply stash_id 来进行恢复,而这个恢复操作是没有删除该存储点的,使用 git stash drop stash_id 进行删除。
git stash pop 进行恢复并且删除。
什么时候会用到呢,比如我在dev分支做了一些改动,但还没有完成工作,现在突然想到需要到master分支修改一个bug,那么这个时候就可以先存储dev分支的修改,再切换到master分支了。
当然其实也不一定需要这么做。其实也可以直接新建一个git窗口使用master分支。。
主要参考(当然还有自己以前onenote上做的笔记):
https://git-scm.com/docs/gittutorial
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
  研发管理 最新文章
开始使用代码编辑器——Sublime Text 3
程序调试
别告诉我你会记笔记——工作中如何使用笔记
android wss 连接不上ejabberd服务器的处理
软件配置管理基线解释
软件配置管理中三个基线概念
伙伴系统之伙伴系统概述
C#之字符匹配
查看域名是否支持IPv6
你对Linux窗口管理程序Tmux了解吗
上一篇文章      下一篇文章      查看所有文章
加:2017-08-09 15:14:48  更:2017-08-09 15:16:02 
VC(MFC) Delphi VB C++(C语言) C++ Builder 其它开发语言 云计算 Java开发 .Net开发 IOS开发 Android开发 PHP语言 JavaScript
ASP语言 HTML(CSS) HTML5 Apache MSSQL数据库 Oracle数据库 PowerBuilder Informatica 其它数据库 硬件及嵌入式开发 Linux开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 新闻资讯 小游戏 Chinese Culture 股票 三丰软件 开发 中国文化 网文精选 阅读网 看图 日历 万年历 2018年11日历
2018-11-13 1:51:19
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  编程开发知识库