GIT基本命令
git init 初始化仓库
建立一个目录来初始化仓库,成功后目录下会生成.git目录。这里面保存着当前目录内容所需的仓库数据。
git status 查看仓库状态
会显示modified、add、delete等文件状态、还会显示所处分支
git add 向缓存区中添加文件
git add +文件名 向缓存区添加具体文件
git add -u 向缓存区添加modified状态文件
git add . 向缓存区添加所有已更改文件
git commit 保存仓库的历史记录
git commit -m ‘提交信息’ 添加详细提交信息
git commit --amend 将缓存区历史记录保存到上一commit上
git log 查看文件改动
可查看之前所有的历史提交及commit id
git diff 查看当前工作树与暂存区的差别(即已有的改动)
git diff > name.patch 可将已有改动生成patch文件
git apply name.patch 可将patch文件合入当前工作树
git format-patch -n 可将工作树中最后n个commit生成patch文件(综合生成一个patch)
git branch 查看本地分支
git branch -a 查看所有分支(本地分支及远程分支)
git checkout 切换到某一分支
git checkout -b branch_name 创建并切换到branch_name
git branch branch_name 切换到branch_name
git fetch 抓取远程分支的更新
git pull 合并远程分支
git push 推送到远程仓库
git reset 回溯历史版本
git reset --hard commit_id 清空工作区及缓存区(即放弃commit_id后的所有更改)
git reset --soft commit_id 保留工作区与缓存区,但是把版本之间的差异存放在缓存区(合并多个commit)
git reset --mixed commit_id 保留工作区清空缓存区,把版本之间的差异存放在工作区(合并多个commit)
解决冲突
1、简单方法
git fetch 拉取最新代码
git checkout master_branch checkout到主分支
git pull feature_branch 将有冲突分支合入主分支
解决冲突(修改重复改动的文件)
git add name_conflict
git commit -m ‘change reason’
git push feature_branch 合入分支
2、稍加改动
git fetch 拉取最新代码
git pull master_branch 更新冲突分支代码
解决冲突(修改重复改动的文件)
git add name_conflict
git commit -m ‘change reason’ (maybe 可以使用 --amend)
git push feature_branch 合入分支
3、git rebase
git fetch 拉取最新代码
git rebase master_branch 以主分支为基线合入此分支更改(maybe 合入主分支)
git add name_conflict
git commit -m ‘change reason’
git rebase --continue 继续合并
git push feature_branch 合入分支