创建仓库
添加需要版本控制的文件到仓库中
提交到版本库
修改位于顶端的commit的日志
分支管理
版本回退
切换与合并分支
本地版本库与远程关联
克隆
Tag的使用
问题与解决
创建git仓库
- git init : git会在当前目录初始化一个空的git仓库,在隐藏文件夹.git中
- 如果IDE带了git集成则最好通过IDE来完成这一步,IDE会设置相应的工程配置好git的忽略表,是非常方便的.
- git init -help查看git init的更多使用文档
添加需要版本控制的文件到仓库中
- git add . : 添加当前目录中的所有文件到仓库中
- git add -help查看git add的更多使用文档
提交到版本库
- git commit -a -m '修改日志' : 提交到版本库
- git commit -help查看git commit的更多使用文档
修改位于顶端的commit的日志
- git commit --amend
分支管理
- git branch/git branch --list : 会显示版本库中所有分支和当前所处在的分支
- 图1 :
- git branch -c 新分支名 : 从当前分支复制一个新的分支
- 图2 :
- git branch -m old new : 对分支改名
- 图3 :
- git branch -help查看git branch的更多使用文档
版本回退
- git reset --hard HEAD : 恢复到当前顶端的commit, 经常用于对工程做了无意义的修改想马上使用pull的时候
- git reset --hard HEAD~2 : 恢复到当前倒数第二个commit
- git reset -i commit-id : 恢复到指定的commit id的版本
- git reset -help查看git reset的更多使用文档
- reset与revert比较
切换与合并分支
- git checkout 分支名 : 切换到指定的分支
- git checkout -b 分支名 : 创建并切换到分支
- git merge 需要合并进来的分支 :将指定的分支合并进来
- 图4 :
- 合并时忽略某个文件 : 可以在需要被合并的分支新建‘.gitattributes’文件,然后在文件中输入 ‘被忽略的文件名’ merge=ours 这样就会在合并的时间忽略这个文件
本地版本库与远程关联
- git remote add origin url : 将本地版本库与远程关联起来, 将远程仓库的名称设置为origin是习惯上的原因
- 本地分支与远程分支的追踪关系
- git remote -help查看git remote的更多使用文档
克隆
- git clone -b 分支名 git-url 新建的文件夹名称 : 克隆远程仓库中指定的分支到[新建的文件夹名称]
- git clone -help查看git clone的更多使用文档
Tag的使用
问题与解决
- git push后出现:
- 使用git push -u origin master进行本地分支与远程分支的关联,回车后如果git中没有绑定远程账号则需要输入邮箱和密码
- 进行上一步后还是没有成功出现:
- 使用git push -u origin master --force强制推送,步骤与上一步相同
- 如果本地有多个分支不想一个一个的关联可以直接git push origin --force推送完整的本地repository到远程,如果git没有绑定远程的邮箱与密码,可能会需要输入邮箱与密码
- 避免每次都需要输入邮箱与密码,可以在本地通过git bash生成公钥添加到远程repository中,详情配置公钥