提交代码
1 git add .
将工作区的文件提交的暂存区
2、git commit
将暂存区文件提交到本地仓库
git commit -m "版本号或注解信息"#将文件从暂存区提交的到本地创库
git commit --amend -m "修改信息"#修改最后一次提交的信息
git reset --soft HEAD^ 撤销 commit
3、git push
提交远程仓库
4、git config
如果是**第一次提交,**需要配置提交者信息,推荐和github
的账号邮箱一致
# git config user.name 你的目标用户名
# git config user.email 你的目标邮箱名
# 使用--global参数,配置全局的用户名和邮箱,只需要配置一次即可。推荐配置github的用户名和密码
git config --global user.name happyChengfeng
git config --global user.email 2623023722@qq.com
# 查看配置信息
git config --list
#初始化指定的配置项
git config --unset --global user.email
git config --unset --global user.name
5、git diff
查看每次提交的内容的不同
git diff #查看工作区与暂存区的不同
git diff --cached# 查看暂存区与仓库区的不同
git diff HEAD# 查看工作区与仓库区的不同,HEAD表示最新的那次提交
git diff c265262 de4845b# 查看两个版本间的不同,使用git log --oneline获取版本号
git log 查看版本信息
查看版本信息
git log #查看提交目录及版本信息
git log --oneline #简洁的日志信息及版本号
git pull 拉取代码
拉取代码
git pull = git fetch + git merge FETCH_HEAD
#merge 操作遇到冲突的时候,当前merge不能继续进行下去。
#手动修改冲突内容后,add 修改,commit 就可以了
git pull --rebase = git fetch + git rebase FETCH_HEAD
#而rebase 操作的话,会中断rebase,同时会提示去解决冲突。
#解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。
git stash
(下拉代码时,自己本地更改了代码,提示签出之后才可以下拉,可以提交暂存)
git stash 暂时将代码隐藏到暂存区,(拉取代码的时候,不冲突自己写好的代码)
git stash pop 恢复
撤销(回滚)操作
git log #查看提交目录及版本信息
git reset --soft 撤销之后需要的版本号
//重新提交
git push --force //实现远程版本回退
创建分支
git branch 分支名 #创建分支,分支中的代码,在创建时与当前分支的内容完全相同。
git push origin 分支名 , 把本地分支推到远端
查看分支
git branch 查看当前分支
git branch -a 查看所有分支
切换分支
git checkout 分支名 #切换到指定的分支
git checkout -b 分支名 #创建并转到此分支
删除分支及恢复
删除此分支
git branch -D 分支名
删除远程分支
git push origin --delete 远程分支名
注意:不能在当前分支删除当前分支,需要切换到其他分支才能删除。
恢复删除的分支
git branch 分支名 分支id
分支合并
git merge 分支名 #将其他分支合并到当前的分支
- 必须在
master
主分支中执行git merge dev
将dev
分支中的代码合并到master
分支
修改分支名称
假设分支名称为oldName
想要修改为 newName
- 本地分支重命名(还没有推送到远程)
git branch -m oldName newName
- 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支
git branch -m oldName newName
b. 删除远程分支
git push --delete origin oldName
c. 上传新命名的本地分支
git push origin newName
d.把修改后的本地分支与远程分支关联**
git branch --set-upstream-to origin/newName
转移提交到别的分支
git cherry-pick (可多个 commitHash)