1.Ubuntu环境下安装Git
- 执行命令:sudo apt install git
2.设置用户名和邮箱
- git config --global user.name "your name"
- git config --global user.email "email@example.com"
3.创建版本库
- 创建一个目录,然后在当前目录下执行命令:git init 把当前目录变成Git可以管理的仓库
4.添加文件到Git仓库
- git add file 表示把文件添加到Git库管理
- git commit -m <message> 把当前添加到Git库管理的文件提交,并进行说明
5.管理Git仓库
- 查看状态:git status
- 查看仓库日志:git log;查看仓库历史日志:git reflog
- 查看简写后的日志:git log --pretty=online [文件名]
- 回滚到上一个版本:git reset --hard HEAD^;回滚到指定版本:git reset --hard 版本号
- Git仓库管理包含以下几点:工作区(对文件进行正常修改,删除等操作的区域),暂存区(使用 git add file 命令后的文件会被添加到暂存区),还有分支(使用 git commit -m <message> 命令后会被提交到master)
- 查看工作区和版本库里最新版本的区别:git diff HEAD -- filename
- 撤销工作区的修改:git checkout -- filename
- 撤销暂存区的修改:git reset HEAD filename
- 删除版本库的文件:git rm file,删除完毕需要再次提交
- 工作区的文件被删除,想要恢复,可以从版本库里恢复 git checkout -- file
6.在GitHub上建立远程仓库
- 在用户主目录下查看是否有.ssh目录,目录中是否有 id_rsa 和 id_rsa.pub这两个文件
- 如果没有,打开shell执行命令:ssh-keygen -t rsa -C "email@example.com",然后一路回车
- 登录GitHub打开setting,打开ssh,然后添加SSH KEY,输入任意title,并把文件 id_rsa.pub 文件内容拷贝到KEY文本框中
- 在GitHub上创建一个新的远程仓库,然后把本地仓库和远程仓库进行关联,执行两条命令:
- git remote add origin git@github.com:github_username/新建远程仓库名
- git push -u origin master
- 然后在本地做了提交,就可以通过命令 git push origin master 把本地分支最新修改推送至GitHub
7.从远程仓库克隆
克隆在GitHub上创建的远程库,执行命令:git clone git@github.com:github_username/repo_name.git
8.创建与合并分支
- 创建并切换分支:git checkout -b name
- 查看分支:git branch
- 创建分支:git branch name
- 切换分支:git checkout name
- 合并分支到当前分支:git merge branch_name
- 删除分支:git branch -d name
9.分支和主干冲突
- 修改发生冲突的地方,然后重新提交,可以使用命令:git log --graph --pretty=oneline abbrev-commit 查看分支的合并情况
10.分支合并
Git通常会使用 fast forward 模式进行合并分支,而这种模式合并分支后,会删除分支信息,如果要强制禁用这种模式可以使用命令:git merge --no-ff -m "message" branch_name
11.保存当前的工作区状态
- 执行命令:git stash
12.为分支添加标签
- 切换到想要打标签的分支,然后执行命令:git tag tag_name
- 想要为历史提交的分支打标签,先 git log 找到提交的commit id,然后执行 git tag tag_name commit_id
13.操作分支上的标签
- 删除标签 git tag -d tag_name
- 推送某个标签到远程:git push origin tag_name
- 推送所有标签到远程:git push origin --tags
- 删除远程标签,先删除本地标签,然后执行:git push origin :refs/tags/tag_name