1.创建分支
git branch branch_name
2.查看本地分支
git branch
3.查看全部分支(本地和远程):加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)
git branch -a
4.切换分支
git checkout branch_name
5.删除本地分支(先切换到别分支)
git branch -d branch_name
6.删除远程分支(先切换到别分支)
git branch -r -d origin/branch_name
git push origin --delete branch_name
7.清理本地无效分支
git fetch -p
8.如果远程新建了一个分支,本地没有该分支。
可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。
git checkout --track origin/branch_name
9.如果本地新建了一个分支 branch_name,但是在远程没有。
这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步
git push --set-upstream origin branch_name
10.合并分支到master上
(1)切换到master分支上
(2)把远程master的代码pull下来
(3)把dev的代码合并到master上
(4)查看状态
1. git checkout master
2. git pull origin master
3. git merge dev
4. git status
11.强制推送
git push -u origin master -f
12.查看当前提交历史
git log
重置工作区提交
13.清空当前工作区目录的所有更改
git checkout -- .
14.重置指定文件夹
git checkout -- 【filename】
重置暂存区更改
git reset .
撤销本地仓库
15.使用reset命令,重置提交
git reset --hard __commit id__
16.把另一个分支的一个或多个提交复制到当前分支
首先git checkout 到另一个分支,然后使用git log找到想要复制的commit 的id,记录下来切换到自己分支,使用git cherry-pick [上面记录的commit id] 回车即可!
复制多个,commitid1为想复制的最老提交(不包括),commitid100为想复制的最新提交(包括)
git cherry-pick (commitid1..commitid100]
包括commitid1,那么在commitid1后加^即可
git cherry-pick [commitid1^..commitid100]
git cherry-pick 如果操作过程中发生代码冲突,Cherry pick 会停下来,让用户决定如何继续操作
用户解决代码冲突后,第一步将修改的文件重新加入暂存区(git add .),第二步使用下面的命令,让 Cherry pick 过程继续执行
git cherry-pick --continue
(2).–abort
发生代码冲突后,放弃合并,回到操作前的样子。
(3)–quit
发生代码冲突后,退出 Cherry pick,但是不回到操作前的样子