2 - Git常用命令总结
工作中的常规操作步骤:
第一步: git init #创建本地仓库,初始化
第二步: git remote add origin https://github.com/XXXXXXhaha/Auto.git #添加远程版本库:将本地仓库和Github远程仓库进行关联
第三步: git pull origin master #从远程仓库下载代码并快速merge到本地仓库,先拉一下,防止版本冲突造成问题
第四步: git add . #跟踪所有改动过的文件,标记哪些文件需要被提交到本地仓库
第五步: git commit -m “commit message” #提交所有更新过的文件, 把标记的文件提交到本地仓库,生成本地版本(备注:Linux系统下commit信息使用单引号',Windows系统下commit信息使用双引号")
第六步: git push origin master #上传代码并快速合并,将本地仓库内容推送到远程仓库
一、创建本地仓库
1、本地仓库的增加操作
git init
git add XXX #添加XXX文件到本地缓存 git add .
git commit -m “commit message”
git status #查看状态(非必须)
2、本地仓库的撤销和删除操作
git checkout . #放弃所有更改 实操: 修改内容,然后执行git checkout . 你会发现你所有的修改都没了
git clean -fd #删除新增文件但没对其执行过 git add 的文件
rm .git -rf #删除仓库(或者直接删除隐藏文件夹.git)
备注:仓库中的文件分为2大类
1) 未跟踪文件:未进行git add操作的文件
2)已跟踪文件:执行过git add操作的文件都是已跟踪的文件
二、添加远程版本库:将本地仓库和Github远程仓库进行关联
1、登录Github,创建一个远程仓库,地址为:https://github.com/XXXXXXhaha/Auto.git
2、在本地仓库所在目录下运行git bash,执行命令来关联远程仓库(添加后,远程版本库的名字就是origin,也可以改成别的)
git remote add origin https://github.com/XXXXXXhaha/Auto.git
三、把远程仓库代码克隆到本地仓库(全量更新时)
git clone https://github.com/XXXXXXhaha/Auto.git
四、从远程仓库下载代码并快速merge到本地仓库(增量更新时)
git pull --rebase origin master #把本地仓库的变化连接到远程仓库主分支
五、推送本地仓库内容到远程仓库
git push -u origin master #第一次推送加-u,后续推送不用加分支名称,直接使用 git push 即可
git push origin master #推送到远程仓库的主干
git push origin dev #推送到远程仓库的 dev 分支
git push origin master -f #强制推送,轻易不要使用
1、实际上是把本地仓库当前分支master的代码推送到远程仓库
2、由于远程仓库是空的,第一次推送master分支时,加上了-u参数,Git不但会把本地仓库的master分支内容推送到远程仓库新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
3、推送成功后,可以立刻在Github页面中看到远程仓库的内容已经和本地仓库一模一样。从现在起,只要本地仓库作了提交,就可以通过简化命令进行推送
六、本地仓库与远程仓库的关联和取消命令
git remote -v #查看当前关联的远程仓库
git remote add origin https://github.com/XXXXXXhaha/Auto.git #进行关联
git remote remove origin #断开与远程仓库的关联
七、.ignore忽略文件
有时候,有些文件或文件夹并不需要都推送到远程仓库,这时候,我们可以把它加入到忽略文件列表.具体做法:
1、在项目根目录添加.gitignore 文件
2、打开.gitignore 文件,添加你要忽略推送的文件,下面是一份忽略清单
.DS_Store
node_modules
命令一:git pull 与 git push
git pull: 获取远程仓库分支的更新并与本地仓库要更新的分支进行合并 | git push:将本地仓库分支的更新推送到远程仓库的分支 |
命令形式: git pull <远程主机名> <本地分支名> | 命令形式:git push <远程主机名> <本地分支名> |
git pull origin master #将远程仓库的内容同步到本地仓库master分支 | git push origin master #省略了远程分支名,表示将本地分支master的更新推送到与之关联的分支,如果分支不存在就会在远程仓库新建一个master分支 |
命令二:git fetch 与 git pull
联系:都可以从远程仓库获取最新版本到本地仓库 实际工作中,可能git fetch更好一些, 因为在merge前,可以根据实际情况决定是否merge |
|
git fetch:只是从远程仓库获取最新版本到本地仓库,不会merge(合并) | git pull:从远程仓库获取最新版本并merge(合并)到本地仓库 |
git fetch origin master //从远程的origin的master主分支上获取最新版本到origin/master分支上
git log -p master..origin/master //比较本地的master分支和origin/master分支的区别
git merge origin/master //合并
|
git pull origin master //相当于进行了 git fetch 和 git merge两步操作
|
命令三:git merge 与 git rebase
https://blog.csdn.net/wh_19910525/article/details/7554489
命令四:分支操作:
git checkout -b dev #创建并切换到dev分支
git checkout master #切换到主干分支
git branch #查看分支
git branch -a #查看所有分支
git fetch -a #拉取所有分支, 拉取之后使用git branch -a才能看到别人新建的远程分支
git push origin dev #推送dev分支代码到远程仓库的dev分支
git pull origin dev:dev #拉取远程dev分支
git merge dev -m"xxx" #合并dev分支到主干分支(当前分支必须是master分支)
git merge master -m"xxx" #合并master分支到dev分支(当前分支是dev分支)
由于git是分布式管理工具,需要输入用户名和邮箱以作为标识,因此,在命令行输入下列的命令:
git config --global user.name "用户名"
git config --global user.email "邮箱"
ssh-keygen -t rsa -C "自己的邮箱地址"
PS:注意git config --global参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱,根据个人情况设置。
查询全局配置:
git config --list
相关全局配置命令:
报错: fatal: unable to access 'https://github.com/chunyanhaha/Auto.git/': OpenSSL SSL_read: Connection was aborted, errno 10053
产生原因:一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错
参考网上解决办法:解除ssl验证后,再次git即可
解除ssl验证命令: git config --global http.sslVerify false
参考文档:https://blog.csdn.net/weixin_45838066/article/details/123723180