git记录

开发环境
dev repo
MASTER开发分支
TEST测试分支(测试部门)
PRO产品分支(生产分支)

gitollte(git仓库服务)
remote repo

生产环境
1.git clone
2.git fetch/git merge
3.mvn war:war

个人开发环境

git checkout .
git co dev

参考文档:www.kernel.org/pub/software/scm/git/docs/git-log.html

git branch
git branch test
git branch
git checkout test
git branch

www.gitchina.org/?cat=23

每写完一个小节,都提交一次
git add -u #如果创建了新文件,执行git add -i
git commit
下班后,执行一次推送
git push
回家之后,继续work,将mirror版本库中的数据同步到本地
git pull mirror master
完成一天的工作后
git push home #将家中的提交推送到标记为home的版本库中

第二天到公司,先从home版本库中将家中的提交同步到公司的电脑中
git pull home master

现场版本控制
git init
添加文件并提交
git add -A
git commit -m"initialized"
为初始提交建立一个里程碑:v1
git tag v1
开始在工作区中工作-修改文件并提交
git commit -a
当对修改结果满意并想将工作成果保存带走时,可以通过下面的命令将V1

开始的历次提交逐一导出为补丁文件。转换的补丁文件都包含一个数字前

缀,并提取提交日志信息为文件名,而且补丁文件还提供对二进制文件的

支持。举例:
git format-path v1…HEAD
0001-Fix-typo-help-to-help.patch
0002-Add-I18N-support.patch
0003-Translate-for-Chinese.patch
通过邮件将补丁文件发出。
git send-email *.patch

修改提交说明
git commit --amend
如果要修改某个历史提交的提交说明,使用变基命令
git rebase -i ^

删除误加入的大文件winxp.img
git rm --cached winxp.img
git commit --amend
如果是历史版本,使用变基操作
git rebase -i ^

一次提交只干一件事,或者完成了一个新功能,或者是修改了一个bug,或

者写完了一节的内容,或是添加了一幅图片,就执行一次提交

git add 将 #修改的内容加入提交暂存区
git add -u #将所有修改过的文件加入暂存区,
git add -A #将本地删除文件和新增文件都登记到提交暂存区
git add -p #对一个文件内的修改进行有选择性的添加

git diff
git diff --cached

git stash 保存工作进度
git checkout <new_branch> 切换到新的分支中

git checkout <orignal_branch> 切换回当前分支
git stash pop 回复之前保存的工作进度

git fetch #工作区更新,获得最新版本的git

##执行清理,避免前一次编译的遗留文件对编译造成的影响。丢弃本地对

git代码的改动
git clean --fdx #
git reset – hard #

git tag #git的里程碑

git checkout v1.7.4.1 #检出该版本的代码

工作区中建立目录a/b/c,进入该目录
cd …工作区
mkdir -p a/b/c
cd 工作区/a/b/c
显示版本库.git所在位置
git rev-parse --git-dir

全局配置文件进行编辑
git config -e --global

git reset HEAD 暂存区的目录树会被重写,会被master分支指向的目录

树所替换,但是工作区不受影响
git rm --cached 直接从暂存区删除文件,工作区则不做出改变
git checkout.或git checkout – 会用暂存区全部的文件或指定

的文件替换工作区的文件。
git checkout HEAD .或git checkout HEAD 会用HEAD指向的

master分支中的全部或部分文件替换暂存区和工作区中的文件。

git ls-tree -l HEAD 底层命令 ls-tree查看暂存区及HEAD中的目录树

git cat-file -t xxx查看ID的类型
git cat-file -p xxx查看对象的内容

问题:fatal: Unable to create ‘F:/git-file/.git/index.lock’:

File exists.
解决办法:rm -f ./.Git/index.lock

暂存区的文件对象,可以用:path/to/file来访问

cat .git/refs/heads/master 一个游标,在有新的提交发生的时候指向

了新的提交。
git reset,可以将“游标”指向任意一个存在的提交ID

git reset --hard HEAD^
cat .git/refs/heads/master
ls

CHAPTER 7 重置
git log --graph --oneline
git reset --hard xxx #重置到之前版本的一次提交

git reflog show master | head -5
git reflog show master #查看master分支的日志文件

git reset --hard master@{1}

git clean -nd #测试运行
git clean -fd #强制删除

git stash list
git stash drop #删除一个存储的进度。默认删除最新的进度
git stash clear #删除所有存储的进度
git stash apply #不使用git stash pop,因为这个保存的进度要被多次

用到

git checkout HEAD^ – src/hello.h #此时hello.h被重新添加到暂存区
git commit --amend -m"…" #修改说明

git reset --soft HEAD^^ #回到最近两次提交之前

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值