初始化设置
为所有项目设置默认的用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
在项目根目录下进行单独配置
git config user.name "gitlab's Name"
git config user.email "gitlab@xx.com"
git config --list 查看当前配置, 在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置
日常使用
commit
合并commit
git commit --amend 会合并当前提交和上一次的提交,如果当前提交有注释,则以当前的注释为合并后的提交的注释,若当前提交没有注释,则以上一次提交的注释作为合并后的提交的注释
git rebase -i HEAD~N 对最近的 N 个 commit 进行 rebase 操作,p 改为s,s对应的提交会合并到上一个里面
git push -f 合并已经push到远程的提交修改commit 的注释
git commit -a –-amend -m “注释” 修改上个提交的注释git撤销已经push到远端的commit
git reset --soft <版本号> --hard 参数会抛弃当前工作区的修改,--soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交
git push origin <分支名> --force 使远端的仓库也回退到相应的版本git撤销已经push到远端的commit之后,其他人拉代码出现冲突
git fetch --all
git reset --hard origin/master --hard 参数会抛弃当前工作区的修改,--soft 参数的话会保留当前工作区的修改,可以重新提交
git pull
branch
查看所有分支
git branch -a新建分支
git checkout -b new_branch 新建本地分支并切换到该分支
git push origin new_branch:new_branch 把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名)新建分支到指定版本
git branch newBranch 版本号
git checkout newBranch删除分支
git branch -d 分支名 删除本地分支
git push origin --delete 分支名 删除远程分支
git remote prune origin 清除那些远程仓库已经不存在的分支分支合并时遇到冲突想取消操作
git merge --abort 提交前可以使用这个命令取消合并行为
git reset --hard <版本号> 可以回退到某个提交