克隆项目
---
git clone git地址
提交前的准备
---
git config user.name 您的中文名
git config user.email 公司邮箱
获取分支
---
#### 将远端分支全部获取到本地
git fetch origin
#### 拉取远端被跟踪分支并衍合
git pull -r
查看分支
---
####查看本地分支
git branch
####查看远程分支
git branch -r (-r表示remote)
####查看所有分支
git branch -a (包括远端和本地)
可以配合grep过滤想看的分支
例如可以查看1.3.5.0版本下所有的功能分支
git branch -a | grep feature/1.3.5.0
查看当前工作区状态
git status
切换分支
---
####切换本地分支
git checkout 分支名
####将远端分支在本地建立跟踪分支
git checkout -b 分支名 远端分支名
修改分支名称
---
#### 修改当前分支名
git branch -m 新名称
#### 修改其他分支
git branch -m | -M 旧名称 新名称
在需要强制修改名称时使用-M,否则使用-m
删除分支
---
#### 删除本地分支
git branch -d | -D 分支名
#### 删除远程分支
git branch -d | -D -r 分支名
以上,需要强制删除的时候使用-D,否则使用-d
合并分支
---
#### 合并分支到当前分支
git merge 分支名
推送分支 --- #### 推送当前分支 如果当前有同名分支在远端,并且本地分支跟踪远端分支 git push
如果当前远端没有同名分支
git push origin 分支名
文件操作
---
#### 添加文件到暂存区
git add 文件名
#### 将暂存区文件放回工作区
git reset HEAD 文件名
#### 丢弃文件修改
git checkout -- 文件名
#### 查看文件的修改
git diff 文件名
提交操作
---
#### 简单提交
git commit -m "提交信息"
#### 提交文件
git commit -a
查看历史
---
#### 查看提交历史
git log
#### 查看命令历史
git reflog
小结
---
本说明没有涵盖git的所有操作,只是包含了目前工作中常用的git命令,并且大部分正常操作都能用此说明的方法配合gitflow的方法使用,如果遇到特殊情况,应根据情况去查找更具针对性的解决办法
新建分支
git flow feature start 分支名称
例如:git flow feature start /1.0.39.0/ZXL/check_station
git flow feature finish /1.0.39.0/ZXL/check_station
错误删除
rm -f ./.git/index.lock
git help <command> # 显示command的help
git show # 显示某次提交的内容
git show $id
git co -- <file> # 抛弃工作区修改
git co . # 抛弃工作区修改
git add <file> # 将工作文件修改提交到本地暂存区
git add . # 将所有修改过的工作文件提交暂存区
git rm <file> # 从版本库中删除文件
git rm <file> --cached # 从版本库中删除文件,但不删除文件
git reset <file> # 从暂存区恢复到工作文件
git reset -- . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git ci <file>
git ci .
git ci -a # 将git add, git rm和git ci等操作都合并在一起做
git ci -am "some comments"
git ci --amend # 修改最后一次提交记录
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建了一次提交对象
git revert HEAD # 恢复最后一次提交的状态
git config --global credential.helper store 记住密码
【本地代码库回滚】:
git reset --hard commit-id :回滚到commit-id,将commit-id之后提交的commit都去除
git reset --hard HEAD~3:将最近3次的提交回滚
git push origin :the_branch //删除远程 the_branch
git push origin the_branch //用回滚后的本地分支重新建立远程分支
git remote update -p
git checkout -f origin/develop 更新远程分支
git config core.filemode false