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条评论