最近因为公司需要,将代码管理工具从SVN转移到了Git上,记得初用Git的时候还是8年前,当时还是使用强大的命令行在Git Bash中搞搞,现在都直接用UI界面操作了;为了不忘本,在这里记录git的一些事儿;
首先,Git Bash给我们强大的视觉震撼感:(命令行用好了,只是看起来比较炫而已^-^)

看到如此美观的界面,就抑制不住想要开始安装git进行代码管理了!废话少说,直接开始!
Windows上安装Git(https://git-scm.com/downloads)直接官网下载
创建文件夹
mkdir test 创建 cd test 进入 pwd 文件位置git init命令把这个目录变成Git可以管理的仓库git add text.txt 添加文本信息git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。git status命令可以让我们时刻掌握仓库当前的状态git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式
日志查看
git log --pretty=oneline 控制日志输出的多少
在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
回滚到上一个版本git reset --hard HEAD^要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

git 和svn有个区别就是暂存区

用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别
第一次修改 -> git add -> 第二次修改 -> git add -> git commit
注:每次修改,如果不用git add到暂存区,那就不会加入到commit中。
回滚文件
当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
用命令git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区
删除文件
命令git rm 删掉,并且git commit
远程仓库
设置GitHub账号

根据帮助文档来创建
本地仓库和远程仓库通过SSH加密
已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库
注意看 ssh的地址和 http地址是不一样的
git remote add origin git@github.com:yq1012/studygit.git
把本地master分支的最新修改推送至GitHub
git push origin master
Git分支
创建分支并且切换到dev
git checkout -b dev和$ git branch dev$ git checkout dev这两句的效果一样
用git branch命令查看当前分支
我们把dev分支的工作成果合并到master分支上
git merge dev
删除分支
git branch -d dev
合并冲突只能看着代码改了
可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
git stash
网友评论