从远程服务器克隆代码
git clone <代码库地址>
创建分支
git branch branch_name // 创建本地分支
git checkout -b branch_name //创建分支,并切换到该分支。
//本地会自动新建一个分支dev,并自动跟踪远程dev分支,前提是远程已存在该分支
git checkout --track origin/dev
//将代码提交到远程分支,并在远程库创建该分支,和本地分支关联。前提是远程没有该分支
git push --set-upstream origin branch-name
切换分支
git checkout branch_name
查看所有分支
git branch -a //查看本地和远程所有分支
git branch --all //查看本地和远程所有分支
git branch -vv //查看本地分支及追踪的分支
删除分支
git branch -d branch_name //删除本地分支,删除分之前,先切换到其他分支
git push origin --delete branch_name //删除远程分支
代码管理:
git status //查看本地修改记录,
git log //查看历史提交记录
git add <file> //将代码添加到跟踪
git commit -m '提交描述' //提交修改的文件,只是提交到了本地库,
git push //将代码修改提交到远程库
git pull //从远程库获取更新代码
在提交代码前,最好先从远程库pull下来代码,在pull之前,先将本地修改暂存起来。
git stash //暂存,执行此代码之前,先执行git add,否则,代码暂存不上去,亲测是这样的
git stash save '' 添加暂存的注释
git stash list //查看暂存列表
git stash apply //将更新记录从暂存中取出来,不删除暂存记录
git stash pop //将更新记录从暂存中取出来,删除暂存记录
git stash drop //删除暂存
如果代码提交错了,想回到某个提交点
git reset --hard commit_id //此时本地就回到了某个提交点
git push origin HEAD --force //强推到远程,远程分支就回到了该提交点
如果后悔回滚了,
git reflog //查看操作记录,找到需要恢复到的提交点
git reset --hard commit_id //本地就恢复到了某个提交点
git push origin HEAD --force //远程分支也恢复到了某个提交点。
合并分支
例如要把dev分支合并到master分支
1、切换到master分支 git checkout master
2、执行合并分支的命令 git merge dev
3、把合并的结果推送到远程分支 git push
4、未push之前想取消merge git merge --abort
设置全局用户名
git config --global user.name 名字
git config --global user.email 邮箱
git config --list //查看所有配置
合并某个提交点到新分支
#假设要将dev分支的commit_id 为1的提交点合并到master,首先切换到master
1、git cherry-pick 1
2、git push
#完成
删除某个提交点:
假设有提交点 C B A ,想要删除B这个提交点。
1、git rebase -i A
2、会弹出一片文字,编辑,将B前面的pick 改为drop,保存提交。
3、git push origin HEAD --force
取消未push的commit
1、只取消commit
git reset --soft HEAD^
2、取消commit和add
git reset --hard HEAD^
HEAD^ 表示上一次的commit,也可以写成HEAD~1
如果撤回两次之前的,可以使用HEAD^^或者HEAD~2
tag 操作
1、git tag //列出所有tag
2、git tag -a [tag名称] -m '[注释]' //新建一个tag
3、git tag -a [tag名称] [节点] //给某个提交点补充tag
4、git push origin [tag名称] //推送tag到远程仓库
5、git push origin --tags //推送所有的tag到远程仓库
6、git tag -d [tag名称] //删除本地tag
7、git push origin :refs/tags/[tag名称] //删除远程tag
8、git checkout tags/<tag_name> -b <branch_name> //从指定tag新建分支
修改commit注释,操作步骤:
已经commit但是未push的情况
1、git commit --amend 弹出来之前写的注释,进行修改,保存即可。
已经push的情况