概述
Git命令行操作
本地库的操作
一、本地库的初始化(创建本地库)
Step1:在创建好的文件夹目录下执行 git init命令,系统自动生成.git文件夹
Step2:设置签名,有项目级别和系统级别的签名(作用:起到表示开发者信息的作用,与github账号没有关系)
签名形式:user.name user.email
设置项目级别的签名:当前本地库有效,保存在.git/config中
Git config user.name [用户名]
Git config user.email [邮箱]
设置系统级别的签名:当前登陆操作系统的用户范围有效保存在系统的家目录~/gitconfig中{通常只要设置系统级别的就够了}
Git config --global user.name [用户名]
Git config --global user.email [邮箱]
原则:就近原则,优先使用项目级别
基本操作命令
添加、提交、查看状态
git status
作用:查看工作区和暂存区的状态
On branch master(在master分支/主干)
No commits yet(本地库没有东西可提交)
Nothing to commit(暂存区没什么东西)
git add
作用:添加到暂存区
git rm --cached <file>
作用:从暂存区中移除
git commit <file>
作用:提交暂存区到本地库(需要输入信息,记录本次提交干什么事)
git checkout -- <file>
作用:
git commit –a
作用:
git reset HEAD <file>
作用:
git commit -m "commit message" <file>
作用:-m “书写添加信息”
查看日志
Git log
作用:操作日志的显示
Git log --pretty=oneline
作用:操作日志的简洁显示
Git log –oneline、
作用:操作日志的更加简洁显示
Git reflog(常用)
作用:操作日志的带指针更加简洁显示
版本的前进与后退
本质是head索引的变化
基于索引值的方式:
前进/后退:git reset –hard [索引值]
后退:一步
Git reset –hard HEAD^
后退n步
Git reset –hard HEAD~n
文件的删除和找回
前提:已经commit到本地库中
还是通过git reset –hard命令回到某个版本
Hard参数会刷新工作区和暂存区
比较文件
Git diff [文件名]
Git diff [版本号][文件名]
分支操作
Git branch –v 查看分支
Git branch [new branch name] 创建新的分支
Git checkout [branch name] 切换分支
合并分支
1:切换到被合并的分支上
2:合并分支
Git merge [需要合并的新的分支]
冲突的解决
问题原因:两个分支都修改了相同的文件提交到本地库,git不知道听谁的
1:合并分支
Git merge [分支名]
2:修改合并后产生冲突的文件
Vim
3:git add [文件名]
4:git commit –m “日志”
不需要带文件名
创建远程github的别名
Git remote add origin [github的http的url]
Git remote –v
Fetch(取回)
Push(推送)
往github的仓库中推送
Git push origin master
分别是别名+分支
从远程库clone到本地
Git clone [url]
完整的把远程库下载到本地
创建origin别名
初始化本地库
从远程库拉取
Pull=fetch+merge
法1:
Git pull [远程地址的别名] [远程地址的分支名]
法2:
Git fetch [远程地址的别名] [远程地址的分支名](不需要登陆,把远程库的内容抓取到本地,本不会合并到本地库)
Git merge [远程地址的别名/远程地址的分支名](合并远程库)
跨团队协作
Fork到远程库
Pull request到本地仓库
最后
以上就是忧郁宝马为你收集整理的版本控制工具GitHub与Git的使用Git命令行操作的全部内容,希望文章能够帮你解决版本控制工具GitHub与Git的使用Git命令行操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复