Git的学习
JasonDev324

Git的语法

Git是对整个目录进行版本控制(有.git的目录)
常用命令:

1.创建版本库 git init
2.将文件添加到版本库 git add 文件(git add Erintrus.txt)
3.讲文件提交到版本库 git commit -m “这里添加修改说明”
4.查看版本库现状 git status
5.查看修改内容(上次提交到现在修改) git diff
6.版本回退

  • 回退到上一个版本 git reset – hard HEAD^
  • 回退到未来的版本 git reset –hard commit_id
    7.撤销修改(“–”表示撤销,不加的话就是切换分支)
  • 未add到暂存区的时候用git checkout –file
  • add到暂存区的时候用git reset head file
    8.关联远程库
    git clone git@github.com:用户名/文件夹名.git

git 推送项目到coding

1.在项目根目录 git init
2.修改gitignore。忽略需要上传的目录
3.git commit -m”init”
4.git remote add origin xxxURL
5.git push -u origin master

git push 403

将.git/config文件的[remote “origin”]部分的repo地址修改为ssh协议

将http改成SSH

删除文件

删除文件 文件夹里删除Crop.md文件
将其加入到暂存区 git rm 文件名 git rm Crop.md
提交结果 git commit

删除远程分支
git branch -r -d origin/branch-name
git push origin :branch-name

分支操作

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge (解决冲突)

删除分支:git branch -d

git checkout -b erintrus 后 ,流程如下

git log 后退出dos 按一下q即可

多人协作

情景:多人协作时,大家都会往master和dev分支上推送各自的修改。(会有冲突)

推送分支:

猿A新建dev分支推送到远程库上(git push origin dev)
猿B从远程库clone下来是看不到dev分支的,所以需要创建一个dev分支,并且与远程库的dev分支关联

git checkout -b dev origin/dev

多人修改同一文件:

猿B在dev推送了自己对example.md文件的修改
猿A也对此文件做了修改 想git push,但是失败,需要先从远程库git pull,其git pull也报错,提示no tracking错误,则需要指定本地dev跟远程dev分支的链接

git branch –set-upstream branch-name origin/branch-name

参考文章

Stash保存当前工作状态

示例
工作做到一半需要去修改另一个bug,先把当前工作内容保存起来,然后再去解决bug。


保存当前工作状态
git stash


还原工作状态
git stash apply —–还原不清除缓存区

git stash drop —— 清除缓存区

git stash pop —-还原并清除缓存区


示例
修改bug一般思路
步骤
把当前工作区状态保存起来,新建临时分支去修改bug,修复后合并分支,删除临时分支,恢复现场。

1.保存当前工作区的状态: git stash
2.创建新的分支: git checkout -b Erintrus
3………(一系列修改bug)
4.恢复原先的工作区状态(两种方法)

  • 恢复工作区 git stash apply ,删除stash区数据 git stash drop
  • 恢复加删除git stash pop (上面两句的合并)

标签

作用 —— 记录发布的版本
理解 —— 不能移动的分支
语法

创建标签

  • git tag 标签名
  • git tag 标签名 commit-id

看所有标签

  • git tag

定标签信息

  • git tag -a 标签名 -m “信息”

除标签

  • git tag -d 标签名

送标签到远程(默认不推送标签)

  • git push origin 标签名
  • git push origin –tags //推送全部标签

除远程标签(先删除本地标签)

  • git push origin :refs/tags/标签名

查询当前用户

git config user.name
git config user.email

推送到远端

git remote add origin xxxURL
git push -u origin master

问题
fatal: remote origin already exists.
git remote rm origin

修改git仓库

git remote set-url origin xxx.git
git push origin master

Git推送项目遇到的问题

导入git项目出现的问题

CreateProcess error=2, 系统找不到指定的文件
原因:git的环境变量未配好。配好重启AS即可

Powered by Hexo & Theme Keep
Total words 22k Unique Visitor Page View