git学习手册

绑定自己的邮箱和用户名

git config --global user.mail "mail"
git config --global user.name "name"

创建版本库

在需要同步的文件夹git init

版本同步

在git中有两个区域,一个是工作区,也就是我们能够看见的文件目录,另一个是暂存区(stage)。在git中分支由指针构成,指向master的指针为HEAD。
版本回退命令:git reset --hard version,其中的version可以是每一个版本的md值的一部分,也可以是以HEAD作为基准的版本,比如HEAD为HEAD前一个版本,HEAD^为HEAD前两个版本。

撤销修改

撤销工作区修改:git checkout -- file
撤销暂存区修改: git reset HEAD file:表示把暂存区的修改撤销并重新放回工作区,其实该命令使用通过reset将暂存区回退到工作区。

删除文件

删除工作区文件:rm file
删除工作区文件夹:rm -rf folder
恢复删除的文件或文件夹:git checkout -- filename

添加远程仓库

关联远程库:git remote add origin url尽量使用ssh的网址
第一次推送master分支的所有内容:git push -u origin master
非第一次向master推送内容:git push origin master

克隆远程库

git clone url

分支管理

创建与合并分支

查看分支:git branch
创建分支:git branch name
创建并跳转分支:git checkout -b name
跳转分支:git checkout name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
分支管理:一般分支需要要分为master、dev和user分支,分别对应版本发布、团队开发和个人开发。每个人应该有自己的分支,进行修改之后向dev分支上提交,最后完全版本再合并到master中去。在合并的时候可以加上--no-ff参数来保存所有历史分支。
使用分支进行bug处理:

  1. 在自己的工作分支使用git stash保存自己的工作区。
  2. 回到主分支创建一个新的分支处理bug,处理好bug之后回到主分支进行分支合并,然后再删除bug临时分支。
  3. 回到自己的dev分支,使用git stash apply恢复现场,最后使用git stash drop删除stash的内容;或者直接使用git stash pop恢复同时删除。

远程库

查看远程库信息:git remotegit remote -v
一般工作过程为:

  1. 推送分支:git push origin branch_name
  2. 如果推送失败,那么是因为远程库比本地版本更新,因此使用git pull试图合并.
  3. 如果合并失败,那么解决冲突,在本地提交
  4. 如果没有冲突或者冲突被解决,那么使用git push origin branch_name推送。
    如果git pull提示“no tracking information",那么说明本地分支和远程分支没有关联,使用命令git branch --set-upstream to branch_name origin/branch_name
    绑定远程仓库的方法:git remote add url

标签

标签总是和commit相关的。
git tag tag_name用于创建标签,默认是HEAD,也可以指定一个commit id。
git tag -a tag_name -m "information"可以指定标签信息。git tag可以查看所有标签。 删除标签:git tag -d v0.1推送标签:git push origin v0.1推送所有标签:git push --tags删除本地标签:git tag -d v0.1删除远程标签:先删除本地标签,再删除远程标签git push origin :refs/tags/tag_name`

文件忽略

修改.gitignore文件
感谢廖雪峰老师。

你可能感兴趣的:(git学习手册)