git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到上一个版本
(如果想回退到100个版本,使用git reset –hard HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin http://git.fengqun.ltd/liucong/pizza.git 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆
git branch name 创建分支
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前分支
git branch -a查看远程分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch -D BranchName 删除本地分支
其中-D也可以是--delete:
git branch --delete BranchName
git branch -r -D origin/BranchName 删除本地的远程分支
git push origin -d BranchName 远程删除git服务器上的分支
其中-d也可以是--delete:
git push origin --delete BranchName
git push origin v2.0_dev //推送本地的v2.0_dev分支到远程
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git pull origin master 获取远程文件 指定分支
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
vim .gitignore 添加忽略文件
git check-ignore 检查忽略文件命令是否正确
:wq 保存退出VI命令 :q!不保存退出
git log -p -2 查看最近两次详细日志
git reset --hard 代码库覆盖本地
git pull
回退版本:
git reset --hard 139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96
推送到远程服务器
git push -f -u origin master
迁移地址:
git remote set-url origin http://git.fengqun.ltd/fengqun/pizza.git
# 将b分支合并到当前分支
git merge b
git 用放弃本地修改用远程覆盖本地:
git fetch --all
git reset --hard origin/master
git fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本
git update-index --assume-unchanged .classpath //忽略已跟踪文件的修改
标签管理:
列出现有标签:
git tag
创建含附注的标签用 -a (译注:取 annotated 的首字母)指定标签名字:
git tag -a v1.1 -m 'version 1.1'
推送所有本地新增的标签:
git push origin --tags
拉取使用tag分支:
1、 git clone 整个仓库,然后 git checkout tag_name 取得 tag 对应的代码.
# git 可能会提示当前处于一个“detached HEAD” 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,需要一个分支:
2、git checkout -b branch_name tag_name
tag会 创建一个分支,然后就和普通的 git 操作一样了
删除tag标签:
git tag -d v0.9 删除本地tag标签
git push origin :refs/tags/v0.9 删除远程标签
已经推送(push)过的文件,想在以后的提交时忽略此文件,即使本地已经修改过,而且不删除git远程库中相应文件 执行命令 git update-index --assume-unchanged Xml/config.xml 后面的 Xml/config.xml 是要忽略的文件的路径
git更新远程分支列表
git remote update origin --prune
git remote update origin -p