git 分支管理记录
测试环境 :虚拟机(VMware Fusion Centos 6.5)
1.安装git环境
[root@localhost ~]# yum -y install git
2.检测git是否安装成功
[root@localhost ~]# git -v
Unknown option: -v
usage: git [--version] [--help] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
本地常用操作
- 创建本地仓库 [git init]
[root@localhost test]# git init
初始化空的 Git 版本库于 /var/tmp/test/.git/
Initialized empty Git repository in /var/tmp/text/.git/
[root@localhost test]#
- 添加文件到待提交仓库 [git add]
[root@localhost test]# echo "木雨流苏" >> README.md //把 "木雨流苏" 追加到 README.md 文件
[root@localhost test]# git add README.md // git add . (表示把当前所有文件都提交) git -f README.md (强制提交 README.md)文件
[root@localhost test]#
- 查看当前仓库待提交的文件 [git status]
[root@localhost test]# git status
# 位于分支 master
#
# 初始提交
#
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# README.md
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
- 提交待提交文件到仓库 [git commit]
[root@localhost test]# git commit -m "First Commit" // 提交代码推荐携带 -m "此处填写提交的备注" [--amend 重新提交]
// 第一次提交的提示 设置了就好了
[master(根提交) 79114a3] First Commit
Committer: root <root@localhost.localdomain>
您的姓名和邮件地址基于登录名和主机名进行了自动设置。请检查它们正确
与否。您可以通过下面的命令对其进行明确地设置以免再出现本提示信息: git config --global user.name "Your Name"
git config --global user.email you@example.com 设置完毕后,您可以用下面的命令来修正本次提交所使用的用户身份: git commit --amend --reset-author file changed, insertion(+)
create mode README.md
- 创建分支 [git branch]
[root@localhost test]# git branch one // git branch -d one 删除 one 分支
[root@localhost test]# git branch // 查看仓库分支列表
* master
one
- 切换分支 [git checkout]
[root@localhost test]# git checkout one // git chectout -b one 创建并切换到新创建的分支
切换到分支 'one'
// 当切换到不存在的分支后
error: pathspec 'a' did not match any file(s) known to git.
- 合并某个分支到当前分支 [git merge]
[root@localhost test]# git merge one
更新 79114a3..e988dbc
Fast-forward
README.md | +
file changed, insertion(+)
- 查看日志记录 [git log]
[root@localhost test]# git log
commit e988dbc451a1a9e546299be9d05fa2c8e8fd3283 // 提交ID
Author: root <root@localhost.localdomain> // 提交 作者
Date: Sun Apr :: +0800 // 提交时间 One Branch Commit // 提交备注 commit 79114a34ce2f512da42af3c23078ce78a6d29d9d
Author: root <root@localhost.localdomain>
Date: Sun Apr :: + First Commit
- 删除文件 [git rm]
[root@localhost test]# git rm .txt // 删除并提交到待提交库中等待commit (此命令与 rm -rf 1.txt ; git add . 等同)
rm '1.txt' // 提交之后的返回
[root@localhost test]# git rm .txt // 此时是上一步删除之后重新创建的 1.txt
fatal: 路径 '1.txt' 未匹配任何文件 // 这次由于git库中没有此文件记录所以提示错误
[注]
// git rm --cached 1.txt [删除git对此文件的追踪,并不删除该文件]
// git rm -r --cached . [删除git对当前目录下所有文件的追踪]
远程常用命令
- 创建并关联远程仓库(此处我已经创建好了一个远程仓库)
echo "# git_test" >> README.md // 创建一个README.md文件 并写入 "#git_test"
git init // 创建本地仓库
git add README.md // 提交README.md 到本地待提交仓库
git commit -m "first commit" // 提交add的文件到本地仓库
git remote add origin git@github.com:zhouwei8725/git_test.git // 添加远程主机(此处以github举例)
git push -u origin master // 提交到远程仓库
- 提交到远程仓库 [git push]
git push origin master:master // git push 远程仓库名 本地分支名:远程分支名
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), bytes | bytes/s, done.
Total (delta ), reused (delta )
- 拉取远程仓库数据[git pull]
- 克隆远程仓库到本地分支[git clone]
-
一些其他小情况 ,解决办法
1 . 当出现[warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX.] 错误时候 可以使用一下代码解决错误
git config core.autocrlf false
2 . 生成公钥私钥 [ssh-keygen -t rsa -C "your_email@example.com" ]
[root@localhost test]# ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'. // 此处是密钥文件位置 有这(id_rsa id_rsa.pub)两个位置
// 创建密钥的密码 [如果连续敲两次 return/enter/回车 为空密码]
Enter passphrase (empty for no passphrase): //此处输入密码
Enter same passphrase again: // 此处重复密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cb:eb:9c:5c:5f:d6:bd::b9:f5:aa::eb::2f:cb your_email@example.com
The key's randomart image is:
+--[ RSA ]----+
| |
| |
| |
| . |
| S o . |
| . . . o.o|
| o . oo +|
| +o+oo o...|
| .E*=+o... |
+-----------------+
3. 定义默认的用户名/邮箱
git config --global user.email "you@example.com" // 设置默认的邮箱
git config --global user.name "Your Name" // 设置默认的用户名
图形化软件推荐

一款免费好用的 windows and mac 的 git 图形化客户端 地址:https://www.sourcetreeapp.com/
git 分支管理记录的更多相关文章
- Git 分支管理是一门艺术
转载: Git 分支管理是一门艺术 1 要确保:团队成员从主分支(master)获得的都是处于可发布状态的代码,而从开发分支(develop)应该总能够获得最新开发进展的代码. 2 "辅助分 ...
- Git 分支管理详解
大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 Cen ...
- Git学习总结(12)——多人开发 Git 分支管理详解
1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿.在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点.下面我们就来学习 ...
- Git-Runoob:Git 分支管理
ylbtech-Git-Runoob:Git 分支管理 1.返回顶部 1. Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同 ...
- 【第七篇】- Git 分支管理之Spring Cloud直播商城 b2b2c电子商务技术总结
Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作. 有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 ...
- GIT分支管理模型
GIT分支管理模型 link: git-branching-model 主分支(Main branches) 项目两个常驻分支: master 主干分支(锁定),仅用于发布新版本,平时不能在上面干活, ...
- Git分支管理[三]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 git分支管理命令 git branch #创建分支 git branch -v # ...
- Git—分支管理
Git—分支管理 分支学习:branch称为分支,默认仅有一个名为master的分支.一般开发新功能流程为:开发新功能时会在分支dev上进行,开发完毕后再合并到master分支. branch相关常用 ...
- [转载]理解 Git 分支管理最佳实践
原文 理解 Git 分支管理最佳实践 Git 分支有哪些 在进行分支管理讲解之前,我们先来对分支进行一个简单的分类,并明确每一类分支的用途. 分支分类 根据生命周期区分 主分支:master,deve ...
随机推荐
- numpy中的stack操作:hstack()、vstack()、stack()、dstack()、vsplit()、concatenate()
stack():沿着新的轴加入一系列数组. vstack():堆栈数组垂直顺序(行) hstack():堆栈数组水平顺序(列). dstack():堆栈数组按顺序深入(沿第三维). concatena ...
- pgmpy安装
1.anaconda安装,可能在cmd中输入conda会报错,是因为在安装的时候没有配置好环境变量,在安装的时候有一个框框没选(当时是not recommand), 解决办法:需要在系统环境变量中添加 ...
- python 全栈开发笔记 2
函数 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 函数式编程最重要的是增强代码的重用性和可读性 def xx() ...
- Flutter 卡在 package get 的解决办法
今天在尝试使用Flutter 的时候,需要使用一个第三方库 修改了 pubspec 文件之后,AS 像往常一样提示 需要 package get. 之前都挺正常,不知道今天怎么了. 一直处在 Runn ...
- 吴恩达机器学习笔记5-Octave基本操作
1.逻辑运算 1==2 %false :注释用%,这句话意思是判断1是否等于2,false,输出0 1~=2 %true 1不等于2 为true,输出为1 1&&0 %and 1|| ...
- 以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件
以编程方式使用 Microsoft Office Visio 2003 ActiveX 控件 2007/10/29 Mark BukovecEmpire Down Development 适用于:Mi ...
- 浏览器兼容性汇总--CSS篇
目录 CSS篇 1. cursor:hand VS cursor:pointer 2. innerText在IE中能正常工作,但在FireFox中却不行 3. ...
- 微信浏览器软键盘弹出与页面resize的问题
使用微信打开网页,弹出软键盘时遇到的兼容问题 过去开发中遇到过很多这种情况,页面底部需要固定定位一个按钮,广告栏或者菜单栏,页面中有表单项需要填写,在打开手机虚拟键盘的时候,底部固定定位的元素会处在软 ...
- idea 引入web、配制tomcat
引入web包: https://www.cnblogs.com/chenloveslife/p/8973912.html 配置tomcat:https://blog.csdn.net/qq_33257 ...
- 第一次玩博客,今天被安利了一个很方便JDBC的基于Spring框架的一个叫SimpleInsert的类,现在就来简单介绍一下
首先先对这段代码的简单介绍,我之前在需要操作JDBC的时候总是会因为经常要重新写SQL语句感到很麻烦.所以就能拿则拿不能拿的就简单地封装了一下. 首先是Insert.Spring框架的JDBC包里面的 ...