Git的命令行操作分为两大类:本地库操作和远程库操作
Git的本地库操作——本地库初始化:
1.主要运用git init命令
利用git——bash here来打开任何一个文件窗口,这利用Linux命令来进行命令行操作
我的工作目录是e:/gitworkspace,在磁盘E:里面bash here ,进入gitworkspace这个文件夹,创建一个weChat文件夹
.git目录是隐藏文件,所以想要利用ls -la来查看。.git目录存放的是本地库相关的子目录和文件,不要轻易改动。
2.设置签名:
需要设置用户名和邮箱地址,主要是来区分不同开发人员的身份。这与代码托管中心的账号,密码是不一样的。
命令分为:项目级别和系统用户级别,项目级别优先,不可以都为空,通常设置系统用户级别就够了,以后就用这一套。
系统用户级别:
cd ~返回家目录,ll -la|less 分屏查看到.gitconfig文件:
git status:
git add [file_name]:
git commit -m "commit message" [file_name]:
git log:(查看历史记录)
git reflog 可以显示出移动当前版本还需多少步:
git reset --hard [hash值]:(基于索引值操作来实现前进后退,推荐使用)
git reset的三种不同参数:soft,mixed,hard
soft:
mixed:
hard:
删除文件并且找回:
前提:删除前,文件存在时的状态要提交到本地库
操作:git reset --hard [指针位置]
删除操作已经提交到本地库了,指针位置就要指向历史记录
删除操作还没有提交到本地库,指针位置使用HEAD
比较文件差异:
git diff [文件名]:将工作区中的文件和暂存区进行比较
git diff 本地库中历史版本 [文件名]:将工作区中的文件和本地库历史记录比较。
分支管理
1.什么是分支?
在版本控制过程中,使用多条线同时推进多个任务。
2.分支的好处
同时并行推进多个功能开发,提高开发率,各个分支在开发过程中,有一个分支开发失败不会对其他分支影响
分支的查看,新建,切换:
在hot_fix分支上修改aa.txt文件,然后把它合并在master分支上:(先要切换到master分支,然后再合并)
fetch工作:(只是读取远程库里面的内容,本地内容没有改变)
拉取最新的项目内容:
pull = fetch + merge:(这样可以拉取远程库里面的内容)
git fetch [远程库地址别名][远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]
注意:先要拉取最新版的内容,做了修改才能push上去(git push origin master)。