- 初始化git仓库
git init # 初始化仓库
- 设置远程主机
git remote -v # 查看远程主机
git remote rm origin # 删除远程主机
git remote add origin git@gitee.com:mateliangcheng/code-tool.git # 添加远程主机
- 工作区内容添加到暂存区
git add . # 将工作区的状态加入暂存区,不包括被删除的文件
git add -u # 将原暂存区的所有文件的变化更新到暂存区,不包括新添加的文件
git add -A # 两者的结合
- 将暂存区内容提交到本地存储库
git commit -m 'message' # 将暂存区的内容生成一次commit请求,commit id代表当前操作后版本库的状态,同时更新当前本地分支的head指向当前commit id
git commit --amend # 追加一次提交,可以将最新代码,提交到追加提交到上一次的commit id中
- 将存储库的内容推送到远程主机
git push origin master:master # 将本地分支推送到远程主机(推送成功后,本地仓库中远程分支的指向与本地分支相同)
git push origin :master # 删除远程分支
git push --force origin master:master # 当本地版本库比远程主机的版本低,强制提及到远程主机上
- 拉取远程主机上某个分支的最新代码
git fetch origin # 更新本地仓库中远程主机origin/*的所有分支
git fetch origin master # 将本地仓库中的origin/master的代码更新到与远程主机保持一致
- 关联本地分支与远程分支
git branch --set-upstream-to=origin/master master # 关联本地分支和远程分支
- 合并拉取的远程分支与本地分支
git merge origin/master master # 合并拉取到本地代码库的远程分支origin/*和本地分支
git merge origin/master master --allow-unrelated-histories # 因为第一次合并的时候,远程分支与本地分支没有关联在一起,所以要加上后面的参数
常用命令:
- 版本回退reset
git reset head # 版本库的内容覆盖暂存区
git reset --hard commitid # 本地仓库回退到之前的某个具体版本,工作区、暂存区都会被覆盖
git push --force origin master:master # 当本地版本库比远程主机的版本低,强制提及到远程主机上
- 版本回退revert
git revert -n commitid # 撤回某个提交
git revert --continue # 撤回某个提交后处理冲突完成,执行此命令继续提交
git revert --abort # 在中途不想撤回,可以执行此命令取消撤回操作
- 代码检出checkout
git checkout . # 暂存区的内容覆盖工作去,丢弃工作区的改动
git checkout -b dev origin/master # 检出远程分支,并创建新分支
- 分支管理branch
git branch ljl-dev dc3ee71 # 根据现有的commitid创建一个新分支
git branch -d ljl-dev # 删除本地分支
- 代码差异diff
git diff # 工作区和暂存区的比较
git diff --cached # 本地版本库和暂存区的比较
git diff commitid commitid # commitid之间的比较
- 代码合并提交cherry-pick
git cherry-pick e235689 # 从别地分支上合并代码到当前分支,
- 提交日志查看
git log --oneline --graph --all -n2 /一行显示、图标格式、所有分支、n条记录
- 合并之前的几个提交
git rebase -i commitid # 基于commitid合并之后的提交,用于代码整理
网友评论