git 笔记
来源:互联网 发布:中国程序员网 编辑:程序博客网 时间:2024/06/06 12:56
Windows如何通过命令行使用git ? 下载git bash。
Git命令笔记
下载、添加和提交
git clone *:下载整个仓库,一般只第一次用
git add * : 添加一个文件到暂存区
git commit -m "add a line": 提交暂存区
git diff readme.txt : 修改文件后使用,比较文件和老版本区别
git log
命令显示从最近到最远的提交日志
忽略文件点击查看
vi .gitignore *.sdf 表示忽略.sdf结尾的文件
版本回退 git reset --hard HEAD^ 退回上一个版本 git reset --hard HEAD~100 退回前100个版本git reset --hard3628164 回退到指定版本号git reflog 查看git日志, 可以利用它来查看需要回退的版本号
撤销修改git checkout -- readme.txt 撤销工作区的修改,让这个文件回到最近一次git commit
或git add
时的状态。 git reset HEAD readme.txt 撤销暂存区的修改,即撤销 git add
删除文件和恢复恢复 : commit 后 , rm test.txt , 可以用 git checkout -- test.txt 恢复;删除文件: commit 后, rm test.txt , 可以用git rm 删除掉版本库里的文件
操作远程仓库 远程仓库设置 远成仓库和本地关联 : git remote add origin git@github.com:michaelliao/learngit.git或者 git clone推送最新修改git push origin master
分支创建、切换:git branch -a 查看所有分支git checkout -b dev 创建dev
分支,然后切换到dev
分支 -b表示创建并切换 相当于 branch + checkout
git checkout -b dev origin/dev切换到远程的dev分支 git checkout <name> 切换分支
git merge dev 合并dev分支到当前分支
git branch -d dev 删除分支
git merge --no-ff -m "merge with no-ff" dev
不使用fast forward方式合并,合并后的历史有分支,能看出来曾经做过合并
解决冲突
本地冲突:如果master 和 dev 分支都修改了最后一行且提交了,这个时候就无法merge, 要手动修改
远程冲突: 如果你和小伙伴都修改了分支,那么就要把小伙伴的分支pull下来,在本地合并,再push上去
git pull 失败:
原因是没有指定本地dev
分支与远程origin/dev
分支的链接,根据提示,设置dev
和origin/dev
的链接:
$ git branch --set-upstream dev origin/dev
BUG分支
git stash
现场存储
git stash list 查看存储的现场
git stash apply stash@{0}
恢复现场(不删除stash)
git stash pop 恢复现场(删除stash)
Feature分支
开发一个新feature,最好新建一个分支,如果最后发现不需要, 则删除
标签管理
git tag v1.0 给分支打标签
git tag v0.9 6224937 给指定分支打标签
git tag 查看标签
git tag -a <tagname> -m "blablabla..."
可以指定标签信息;
git tag -s <tagname> -m "blablabla..."
可以用PGP签名标签;
git tag -d v0.1 删除标签
git push origin --tags 推送全部标签
git push origin :refs/tags/v0.9
删除远程标签(需要先删除本地标签)
git commit
或git add
时的状态。git checkout -b dev 创建dev
分支,然后切换到dev
分支 -b表示创建并切换 相当于 branch + checkout
git merge dev 合并dev分支到当前分支
git branch -d dev 删除分支
git merge --no-ff -m "merge with no-ff" dev
不使用fast forward方式合并,合并后的历史有分支,能看出来曾经做过合并解决冲突
本地冲突:如果master 和 dev 分支都修改了最后一行且提交了,这个时候就无法merge, 要手动修改
远程冲突: 如果你和小伙伴都修改了分支,那么就要把小伙伴的分支pull下来,在本地合并,再push上去
git pull 失败:
BUG分支原因是没有指定本地
dev
分支与远程origin/dev
分支的链接,根据提示,设置dev
和origin/dev
的链接:$ git branch --set-upstream dev origin/dev
git stash
现场存储
git stash list 查看存储的现场
git stash apply stash@{0}
恢复现场(不删除stash)git stash pop 恢复现场(删除stash)
Feature分支
开发一个新feature,最好新建一个分支,如果最后发现不需要, 则删除标签管理
git tag v1.0 给分支打标签
git tag v0.9 6224937 给指定分支打标签
git tag 查看标签
git tag -a <tagname> -m "blablabla..."
可以指定标签信息;
git tag -s <tagname> -m "blablabla..."
可以用PGP签名标签;git tag -d v0.1 删除标签
git push origin --tags 推送全部标签
git push origin :refs/tags/v0.9
删除远程标签(需要先删除本地标签)
fetch :下载分支的更新,比如,你fetch之后你本地就有一个分支叫origin/a
merge:本地两个分支合并
pull : = fetch+merge
1. git 安装
http://blog.csdn.net/biosd/article/details/9115837
sudo apt-get update
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
安装完成后,检查是否安装成功
git --version
显示 git version 2.1.1,表明安装成功。
设置user name 和 user email
git config --global user.email "我的邮箱"
git config --global user.name "姓名"
2. 提交本地工程到服务器
1.首先在git服务器上创建初始项目,并记录ssh地址
如:https://github.com/zfy1355/presst-test.git
2.进入本地项目目录,依次执行下面命令
$git init //初始化本地仓库$git add * //或添加需要提交的文件$git commit -m "init project" //提交到本地仓库$git remote add origin https://github.com/zfy1355/presst-test.git //和远程仓库项目进行关联$git push -u origin master //提交到远程仓库
PS.
Git 里面的 origin 到底代表啥意思?
3. 更新本地工程
$git fetch origin //获取远端库最新信息$git diff master origin/master //作比较$git merge origin/master //合并本地仓库代码
阅读全文
0 0
- Git -> git log笔记
- Git 笔记 git add
- Git 笔记, git commit
- 【git】git学习笔记
- git笔记
- git笔记
- git笔记
- git笔记
- git笔记
- git 笔记
- git笔记
- git 笔记
- git笔记
- Git 笔记
- GIT笔记
- Git笔记
- Git笔记
- [笔记]Git
- 从数据恢复角度出发 python解释NTFS runlist的代码
- $(function(){})和$(document).ready(function(){})
- 深入理解C代码中的注释
- 生存危机——我的工作会不会被机器取代
- 更换jdk版本:jdk1.8更换为jdk1.7之后输入java -version还是出现1.8的版本号
- git 笔记
- Greenplum简明手册
- 误人子弟篇之C语言函数返回值与参数传递
- call structure
- java-包
- 原生js实现银行卡号每隔4位数字加一个空格案例
- input file图片预览 兼容ie8+
- Mock方法介绍
- @PostConstruct使用说明