赞
踩
开源 分布式 版本控制工具(SVN为集中式)
分为: 本地仓库与远程仓库
团队协同开发项目
工作目录working tree -->暂存区 index --> 本地仓库repository -->暂存区–> 远程仓库remote repository
工具
TortoiseGit
IDEA
SmartGit
SourceTree
git 查看git信息 git init 初始化 创建repository git add <file> 将文件的修改提交到暂存区 index git commit -m "描述信息" 将暂存区的文件提交到本地仓库的master分支(系统自动创建的第一个分支) 如果不add到缓存区,是无法提交的 git status 查看文件当前状态, 是否add 或 commit git log --pretty=oneline 查看提交日志 git reset --hard HEAD^ 回到上个版本 HEAD表示当前版本,每一个^表示版本 HEAD~100 上100个版本 HEAD~3 git reset --hard 版本号 回到指定版本 git reflog 所有分支的操作记录,包括被删除的commit记录 记录每一条命令,可以查看到版本号 git diff HEAD -- <file> 查看当前工作区文件与仓库中最新文件的差异 git checkout -- <file> 丢弃工作区的修改(用仓库中的文件替换工作区文件) 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和仓库一模一样的状态; 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 总之,就是让这个文件回到最近一次 commit 或 add 时的状态 git reset HEAD <file> 撤销暂存区的修改
1. git rm <file>
2. git commit -m "描述信息"
删除文件
#设置本地默认远程仓库信息
$ git config --global user.name "username"
$ git config --global user.email "email"
#查看是否已有公钥
$ cd ~/.sh
#没有则创建私钥 非对称加密算法rsa
$ ssh-keygen -t rsa -C "eamil"
#私钥id_rsa 公钥id_rsa.pub
#复制到id_rsa.pub中内容到平台对应设置中
git remote add 自定义远程别名 git@github.com:用户名/仓库名.git
(本地仓库名需和远程一致)
本地关联到远程
git push -u 远程别名 分支名
第一次提交,与远程仓库关联
git push [远程别名 分支名]
提交到远程仓库
git clone 地址
克隆远程仓库到本地, 下载所有文件 (全量)
git pull 远程名 分支名
(增量)更新, 从远程抓取分支,如果有冲突,要先处理冲突。
$ ssh -T git@gitee.com #查看添加SSH是否成功
#其他操作与github相同
创建新的分支,相当于在主分支master上新建了新的分支,并将HEAD指向新的分支,以后的操作就在该分支上进行。
合并时就把master指向当前分支的最新版本,同时HEAD指向master。
git checkout -b <name> 创建并切换到分支 <name> 相当于 git branch <name> 和 git checkout <name> 两条命令 git branch 查看当前分支 git checkout <name> 切换回master分支 git merge --no-ff -m "描述信息" <name> 合并分支 git branch -d <name> 删除分支 git branch -D <name> 删除一个没有合并过的分支 git log --graph 查看分支合并图 # 修改bug git stash 临时存储当前分支的工作情况 git stash list 查看所有的stash git stash apply stash名 恢复指定的stash git stash drop 删除stash git stash pop 恢复并删除 git cherry-pick 提交名 复制特定的提交到当前分支 # 最新版本(实测1.8.3不支持)2.27.0支持 git switch -c <name> 创建并切换 git switch <name> 切换
git remote -v
查看远程库信息
本地新建的分支如果不推送到远程,对其他人就是不可见的
git push 远程别名 branch-name
从本地推送分支, 如果推送失败,先用git pull抓取远程的新提交
git checkout -b branch-name origin/branch-name
在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;
git branch --set-upstream branch-name origin/branch-name
建立本地分支和远程分支的关联
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。