【尚硅谷】Git与GitHub基础全套完整版教程的笔记已更新完毕,视频链接为:www.bilibili.com。笔记链接如下:
【尚硅谷】Git与GitHub基础全套完整版教程笔记1-git简介&命令行操作
【尚硅谷】Git与GitHub基础全套完整版教程笔记2-git命令行操作&分支管理
【尚硅谷】Git与GitHub基础全套完整版教程笔记3-GitHub操作
【尚硅谷】Git与GitHub基础全套完整版教程笔记4-Eclipse的git插件&git工作流&Gitlab
下面对常用命令做一个总结,方便快速查阅。
//本地库初始化
git init
//查看当前目录下的文件(不包括隐藏文件)
ls
//查看当前目录下的文件(包括隐藏文件)
ls -lA
//查看.git文件夹下的东西
ll .git/
//配置环境,设置签名(名字和邮箱)
//(a)项目级别/仓库级别:不带参数,仅在当前本地库范围内有效
git config user.name tom_pro
git config user.email goodMorning_pro@taku.com
//签名信息保存在./.git/config文件,打开文件用下面的命令
cat ./git/config
//(b)系统用户级别:登录当前操作系统的用户范围
git config --global user.name tom_glb
git config --global user.email goodMorning_glb@taku.com
1就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名;
2如果只有系统用户级别的签名,就以系统用户级别的签名为准;
3二者都没有不允许,做一些操作时git会报错。
//状态查看
git status /*第一代表是哪个分区的,第2是否提交3有没有可提交的文件和提示
//将工作区文件添加暂存区
git add [file name] /*提交到暂存区,并且转换换行符
//从暂存区撤回
git rm --cached [file name]
//将暂存区文件提交到本地库
//(a)如果进入了编写环境(这和安装时候选择的vim编辑器有关)
git commit [file name] /*需要输入提交信息日志>写完wq(下面不需要进入vim)
//检测文件
mofified good.txt
//(b)一般的提交操作,不会进入vim编辑情况
git commit -m "commit message" [file name] //将暂存区的内容提交到本地库
git restore //撤销某个文件修改的操作
git reset HEAD file //可以把暂存区的修改撤销掉(unstage),重新放回工作区
//查看历史记录(4种查询方法)
//第一种
git log //查看版本记录,不够简洁
//第二种
git log --pretty=oneline //每个历史只显示一行(hash值和日志)
//第三种
git log --oneline //每个历史只显示一行且显示hash的部分值和日志
//第四种(推荐)
git reflog //显示历史只显示一行,并且显示指针(要移动到版本多少步)
//前进后退 (3种方式)
//第一种:基于索引值操作[推荐]
git reset --hard [局部索引值]
//例子
git reset --hard a6ace91
//第二种:使用^符号,只能后退。注:一个^表示后退一步,n 个^表示后退 n 步
git reset --hard HEAD^^
//第三种:使用~符号,只能后退。注:表示后退 n 步
git reset --hard HEAD~n
//例子
git reset --hard HEAD~3 //表示后退3步
//删除文件并找回,前提是删除之前文件存在的状态提交到了本地库
git reset --hard [指针位置]
//比较文件差异
git diff [文件名] //将工作区中的文件和暂存区进行比较
git diff [本地库中历史版本] [文件名]
//将工作区中的文件和本地库历史记录比较,如果不带文件名则比较多个文件。
git diff HEAD^ apple.txt //可以用HEAD或者版本索引值
//创建分支
git branch [分支名]
//查看分支
git branch -v
//切换分支
git checkout [分支名]
//合并分支
git merge [有新内容分支名]
//解决合并过程中的冲突
//第一步:编辑文件,删除特殊符号
//第二步:把文件修改到满意的程度,保存退出
//第三步:git add [文件名]
//第四步:git commit -m "日志信息" (注意不能带具体文件名)
/*连接远程库
//初始化
git init
//首先创建远程库
git remote -v //查看当前所有远程地址别名
git remote add [别名-origin] [远程地址]
//推送操作
git push [远程库别名-origin] [分支名-master]
//然后在github页面刷新,可以看到内容,推送远程库成功。
//克隆操作
git clone [远程地址]
//(团队内合作)团队成员邀请,邀请之后才能提交,主要是操作界面
//远程库拉取的修改,pull=fetch+merge
git fetch [远程库地址别名origin] [远程分支名master] /*抓取下来
git checkout origin/master /*切换到链接地址(别名)的master(可查看抓取下来内容)
git checkout master /*切换回master分支
git merge [远程库地址别名origin/master远程分支名] /*合并
//或者直接一行代码解决(pull=fetch+merge):
git pull [远程库地址别名] [远程分支名] /*等于上面步骤
//(团队外合作A邀请B)
//B先forkA的远程仓库,然后再修改代码,选择Pull Request进行后续操作
说明:记录学习笔记,如果错误欢迎指正!写文章不易,转载请联系我。