本地库操作
工作目录–git add->暂存区–git commit->本地仓库
-
git init 初始化仓库,生成一个.git文件夹
-
工作目录(或touch 文件名)创建一个新文件,通过git add 文件名(所有文件:git add .)追踪新建的文件或已修改的文件,将修改的文件添加到暂存区
-
git commit -m "描述文字"提交 到本地仓库。此处如果提交失败说明文件未被追踪,可通过git status查看文件的状态,并返回上一步操作。
-
git log 查看提交成功的信息
-
如果需要设置版本标签:git tag v1.0
-
给指定commit设置标签:git tag v0.5 哈希值(哈希值可通过git log --oneline查看)
-
如果有乱码问题。
文件名乱码: git config --global core.quotepath false。
vim里编辑描述乱码:右键-进入setting-找到环境environment-添加 set LANG=zh_CN.UTF-8 -
直接提交。git commit -a -m “描述文字”,从工作目录提交到暂存区后直接提交。(如果是未追踪不能直接使用该命令,仍需git add追踪一下)
删除操作:
从本地仓库中删除文件(本地库和工作目录都删除):git rm 文件名,提交此删除命令git commit -m "删除了xx文件"
只删除git仓库中的文件,不删除工作目录中的:git rm --cached 文件名,使此文件回到未追踪状态
强制删除修改后未追踪的文件:git rm -f 文件名,再git commit -m ”描述“ 提交此命令移动文件:
git mv 当前文件名 新建文件夹/文件名,再xgit commit -m ”描述“ 提交此命令
git diff :比较工作目录和暂存区文件区别
git diff --cached : 比较暂存区和本地仓库的区别文件重命名:
git mv 当前文件名 新文件名,git rm 当前文件名,git add 新文件名,再git commit -m ”描述“ 提交此命令查看命令:
查看文件状态打印内容:git status
简化打印内容:git status -s
查看修改的具体内容:git diff在工作目录中撤销本次修改(未加入到暂存区的修改):
git checkout – 文件名
撤销已添加到暂存区的修改:git reset
git reset HEAD 文件名 (回到未添加到暂存区的状态)
git reset “HEAD^^”或者git reset HEAD~2(撤销最近的两条提交)
从仓库回退到上一次修改:git reset --hard 版本号(git log --oneline可查看),在工作区也回退到本次修改前的版本(本次修改的数据在工作区也撤销了)
commit描述信息替换:
git commit -m “新描述” --amend(替换上一次输出的描述信息)
分支操作
查看所处分支:git branch
创建分支:git branch 分支名称
切换分支:git checkout 分支名称
合并分支:git merge 目标分支(将目标分支的内容合并到当前分支)
删除分支:git branch -d 分支名
打印所有分支命令:git log --oneline --decorate --all --graph
分支提交使用
git checkout index
git add .
git commit -m “完成了此功能” (初始状态不选择分支直接提交,提交到共有分支,master分支和子分支都包含)
git checkout user(转到 user分支)
git commit -m"完成了user功能"(提交到user分支)
git checkout master (切换到master主分支)
git merge user(将user分支合并到主分支)
git branch -d user(将合并完的分支删除)
git branch -D user(强制删除还未合并的分支)
git merge --abort (取消合并)
git rebase master,git checkout master,git merge 子分支名 (在子分支上操作,将master作为基底,合并所在分支)
存储
远程仓库相关操作
连接到远程仓库:git remote add origin https://
不希望被git管理的文件,忽略文件:touch 创建一个.gitignore文件
将分支上传到远程仓库:git push -u origin master
将标签传到远程仓库:git push origin v0.5
将所有标签都上传到仓库:git push origin --tags
删除远程仓库的标签:git push origin :refs/tags/v0.5
从远程仓库克隆代码到本地:git clone https://
克隆远程仓库分支:git checkout -b branch1 origin/branch1
删除远程仓库的分支:git push origin :分支名
git pull origin dev //首先拉取最新版本,
这里如果有新版本的话, 需要做一些比对操作
git merge user//把刚在自己的 user分支内开发后提交了的版本合并到 dev当前分支 git push origin dev //合并后把功能提交到开发分支