git常用操作命令
1. 克隆仓库
git clone <url> git clone -b dev <url> // 克隆并切换到 dev 分支
2. 分支操作
(1)创建本地分支
git branch test
(2)创建远程分支,如果远程分支不存在,提交本地分支test到远程分支test
git push origin test:test
(3)关联远程分支,如果远程分支存在,进行本地分支与远程分支关联,例如本地当前的 test 分支与远程 test 分支进行关联,如下:
git branch --set-upstream-to test origin/test
(4)查看本地分支与远程分支的跟踪信息
git branch -vv
(5)删除本地分支
git branch -d dev_test
(6)删除远程分支
git branch -r -d origin/test git push origin :test
(7)创建本地分支,同时关联远程分支。比如远程分支 test 已经存在,创建本地分支 test,并跟踪远程分支 remotes/origin/test
git checkout -b test remotes/origin/test
(8)删除本地不需要的 remotes/origin/branchs
git remote prune origin
3. 提交代码
git add <file_path> //将修改的文件放入暂存区 git commit -m "commnet" //本地提交 git push origin master //提交到远程分支
4. 回滚修改
(1)如果没有执行 git add,则执行下面命令进行回滚:
git checkout <file_path>
(2)执行了 git add 或者 git rm,但是没有进行提交
git reset HEAD <file_path> //reset 某个文件 git reset HEAD . //reset 所有文件
或者
git checkout <file_path> //导致修改的内容被撤回
(3)执行了 git commit,但是没有执行 git push
git reset --hard commit_id //撤销提交,代码回滚到上个版本 git reset commit_id //撤销提交,代码不回滚
(4)执行了 git push
git reset --hard commit_id git push -f origin dev //强制提交
或者revert
git revert commit_id
5. 对比差异
(1)查看具体差异信息
git diff git diff <commitid1> <commitid2>
(2)查看某个文件的差异信息
git diff <file_path>
(3)统计差异信息
git diff --stat git diff <commitid1> <commitid2> --stat
6. 处理冲突
#(1)拉取合并最新的代码 git pull --rebase #(2)如果有冲突,上一步会报错,手动处理冲突的内容 #(3)添加文件 git add <冲突的文件> #(4) git commit #(5) git push
7. patch 操作
(1)生成单个 commit 的 patch:
git format-patch -1 <commitid>
(2)生成 2 个 commit 之间的修改的 patch,包含 2 个 commit:
git format-patch <commitid1>..<commitid2>
(3)应用 patch:
git apply xxx.patch
8. fork 操作
(1)增加远程仓库,命名为 upstream
git remote add upstream https://gitee.com/mirrors/patroni.git
(2)拉取远程仓库 upstream 的 master 分支到本地(包含 tag 信息)
git pull --rebase --tag upstream master
(3)fork 其他的仓库,与该仓库保持同步
1. 查看远程仓库信息 git remote -v 2. 配置 fork 源仓库的路径 git remote add upstream https://github.com/xxx 3. 再次查看远程仓库信息 git remote -v 抓取原仓库的修改文件 4. git fetch upstream 切换到master分支 5. checkout master 合并远程的master分支 6. git merge upstream/master 推送提交 7. git push
文章评论
共0条评论