Git的语法
Git是对整个目录进行版本控制(有.git的目录)
常用命令:
1.创建版本库 git init
2.将文件添加到版本库 git add 文件(git add Erintrus.txt)
3.讲文件提交到版本库 git commit -m “这里添加修改说明”
4.查看版本库现状 git status
5.查看修改内容(上次提交到现在修改) git diff
6.版本回退
- 回退到上一个版本 git reset – hard HEAD^
- 回退到未来的版本 git reset –hard commit_id
7.撤销修改(“–”表示撤销,不加的话就是切换分支)- 未add到暂存区的时候用git checkout –file
- add到暂存区的时候用git reset head file
8.关联远程库
git clone git@github.com:用户名/文件夹名.git
git 推送项目到coding
1.在项目根目录 git init
2.修改gitignore。忽略需要上传的目录
3.git commit -m”init”
4.git remote add origin xxxURL
5.git push -u origin master
git push 403
将.git/config文件的[remote “origin”]部分的repo地址修改为ssh协议
删除文件
删除文件 文件夹里删除Crop.md文件
将其加入到暂存区 git rm 文件名 git rm Crop.md
提交结果 git commit
删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name
分支操作
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
(解决冲突) 删除分支:git branch -d
git checkout -b erintrus 后 ,流程如下
git log 后退出dos 按一下q即可
多人协作
情景:多人协作时,大家都会往master和dev分支上推送各自的修改。(会有冲突)
推送分支:
猿A新建dev分支推送到远程库上(git push origin dev)
猿B从远程库clone下来是看不到dev分支的,所以需要创建一个dev分支,并且与远程库的dev分支关联
git checkout -b dev origin/dev
多人修改同一文件:
猿B在dev推送了自己对example.md文件的修改
猿A也对此文件做了修改 想git push,但是失败,需要先从远程库git pull,其git pull也报错,提示no tracking错误,则需要指定本地dev跟远程dev分支的链接
git branch –set-upstream branch-name origin/branch-name
Stash保存当前工作状态
示例
工作做到一半需要去修改另一个bug,先把当前工作内容保存起来,然后再去解决bug。
保存当前工作状态
git stash
还原工作状态
git stash apply —–还原不清除缓存区git stash drop —— 清除缓存区
git stash pop —-还原并清除缓存区
示例
修改bug一般思路
步骤
把当前工作区状态保存起来,新建临时分支去修改bug,修复后合并分支,删除临时分支,恢复现场。
1.保存当前工作区的状态: git stash
2.创建新的分支: git checkout -b Erintrus
3………(一系列修改bug)
4.恢复原先的工作区状态(两种方法)
- 恢复工作区 git stash apply ,删除stash区数据 git stash drop
- 恢复加删除git stash pop (上面两句的合并)
标签
作用 —— 记录发布的版本
理解 —— 不能移动的分支
语法
创建标签
- git tag 标签名
- git tag 标签名 commit-id
看所有标签
- git tag
定标签信息
- git tag -a 标签名 -m “信息”
除标签
- git tag -d 标签名
送标签到远程(默认不推送标签)
- git push origin 标签名
- git push origin –tags //推送全部标签
除远程标签(先删除本地标签)
- git push origin :refs/tags/标签名
查询当前用户
git config user.name
git config user.email
推送到远端
git remote add origin xxxURL
git push -u origin master
问题
fatal: remote origin already exists.
git remote rm origin
修改git仓库
git remote set-url origin xxx.git
git push origin master
导入git项目出现的问题
CreateProcess error=2, 系统找不到指定的文件
原因:git的环境变量未配好。配好重启AS即可