Git

安装设置

查看用户名和邮箱地址
	git  config user.name
	git config user.email
修改全局用户名和邮箱地址
	git config --global user.name "your Name"
	git config --global user.email "email@ecample.com"
修改局部用户名和邮箱地址
	cd ~/you project
	git config user.name "username"
	git config user.email "email"

基础操作

创建版本库
	git init
	把文件添加到仓库
		git add readme.txt
	提交到仓库
		git commit -m " wrote a readme file"
查看信息
	git status
	git diff 
版本回退
	查看历史记录
		git log
		git log --pretty=oneline
	回到过去
		git reset --hard HEAD^
	重返未来
		git reset --hard 版本号
		关电脑了,想回到新版本
			git reflog 查看命令历史
撤销更改
	丢弃工作区的修改
		git checkout -- file
	丢弃暂存区的修改
		git reset HEAD <file>
删除文件
	先手动删除
                    git rm tesr.txt
                    git commit -m "remove test.txt"
            误删:git checkout -- test.txt

远程库

添加远程库
	git remote add origin git@server-name:path/repo-name:git
	git push -u origin master
	之后 git push origin master
克隆远程库
	git clone git@github.com:snowqwl/gitskills.git

创建合并分支

查看分支
	git branch
创建dev分支并切换
	git checkout -b dev
		- git branch dev
                   - git checkout dev
	git switch -c dev
切换分支
	- git checkout dev
	- git switch master
合并指定分支到当前分支
	git merge dev
删除分支
	git branch -d dev

分支

解决冲突
	查看分支合并图
		git log --graph
		git log --graph --pretty=oneline --abbrev-commit
分支管理策略
	普通模式合并 能看出曾经做过合并
		git merge --no-ff -m "merge with no-ff" dev
bug分支
	保存现场
		git stash
	回到现场
		git stash pop
	在master分支修复的bug,合并到当前dev分支
		git cherry-pick <commit>
丢弃一个没有被合并过的分支
	git branch -D <name>

多人协作

查看远程库信息
	git remote -v
从本地推送分支 
	git push origin branch-name
推送失败
	git pull 抓取远程重新提交
建立本地分支和远程分支的关联
	git branch --set-upstream branch-name origin/branch-name

rebase

git rebase 把本地末push的分叉提交历史整理成直线

标签

创建标签
	切换到要打标签的分支上
		git tag v1.0
查看标签
	git tag
指定标签信息
	git tag -a <tagname> -m "baablabla..."
删除标签
	git tag -d v0.1
推送标签到远程
	git push origin <tagname>
	推送全部未推送的本地标签
		git push origin --tags
删除一个远程标签
	先本地删除 git tag -d v0.9 

git push origin :refs/tags/

posted @ 2020-08-04 15:21  柒丶月  阅读(105)  评论(0编辑  收藏  举报