git常用记录

HEAD ------> 分支 ----------> 具体提交commit id

第一章 git基本操作

1.1 单枪匹马

要让git对一个目录进行版本控制需要以下步骤:

  • 进入要管理的文件夹

  • 执行初始化命令

1
git init
  • 管理目录下的文件状态

1
2
git status
# 注:新增的文件和修改后的文件都是红色
  • 管理指定文件(红–>绿)

1
2
git add 文件名
git add .
  • 个人信息配置

1
2
3
4
5
6
7
8
git config --global user.email "[email protected]"
git config --global user.name "cholen"
````

* 生成版本

```bash
git commit -m "描述信息"
  • 查看版本记录

1
git log

1.2 拓展新功能

1
2
git add 
git commit -m "短视频"

1.3 “约饭”事件

  • 回滚到以前的版本

    1
    2
    git log
    git reset --hard versionId
  • 回滚到之后的版本

    1
    2
    git reflog
    git reset --hard versionId

1.4 商城&&紧急修复bug——分支

  • 查看分支

    1
    git branch
  • 创建分支

    1
    git branch 分支名
  • 切换分支

    1
    git checkout 分支名
  • 创建并切换分支dev

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    git checkout -b dev

    #or
    #以下是新版本的git才有的功能

    #创建分支dev
    git switch -c dev

    #切换到分支dev
    git switch dev
  • 合并分支

    1
    2
    3
    4
    git merge 要合并的分支

    #注意:要切换分支再合并,例如,master分支要合并bug分支,则必须先切换到master分支上
    #合并分支时可能产生冲突
  • 删除分支

    1
    git branch -d 分支名

1.5 进军“三里屯”

在家里开发并上传代码

1
2
3
4
5
1.为远程仓库取一个别名叫做origin
git remote add origin https://github.com/cholen/dbhot.git

2.向远程仓库推送代码 -u表示url 把本地master分支推送到那个url仓库上
git push -u origin master

到公司新电脑第一次获取代码

1
2
3
4
1.克隆远程代码
git clone 远程仓库地址 (内部已经实现git remote add origin 远程仓库地址)
2.切换分支
git checkout

在公司进行开发

1
2
3
4
5
6
7
8
9
1.切换到dev分支进行开发
git checkout dev
2.把master分支合并到dev [仅一次]
git merge master
3.修改代码
4.提交代码
git add .
git commmit -m "xxxx"
git push -u origin dev

回到家继续写代码

1
2
3
4
5
6
7
8
1.切换到dev分支继续写代码
git checkout dev
2.拉取代码
3.继续开发
4.提交代码
git add .
git commit -m "xxxx"
git push -m origin dev

开发完毕,要上线

1
2
3
4
5
6
7
8
1.将dev分支合并到master,进行上线
git checkout master
git merge dev
git push -u origin master
2.将dev分支也推送到远程
git checkout dev
git merge master
git push -u origin dev
1
2
3
4
git pull origin dev

git fetch origin dev
git merge origin/dev

1.6 快速解决冲突

  • 安装beyond compare

  • 在git中进行配置

    1
    2
    3
    git config --local merge.tool bc3
    git config --local mergetool.path '/usr/local/bin/bcomp'
    git config --local mergetool.keepBackup false
  • 应用beyond compare解决冲突

    1
    git mergetool

1.7 打标签

  • 本地

    1
    git tag -a v1.0 -m "message"  commit-id
  • 推送到远端

    1
    2
    3
    4
    5
    6
    7
    # 推送特定标签
    git push origin v1.0

    #or

    # 推送所有标签
    git push origin --tags
  • 删除标签

    1
    2
    3
    4
    5
    # 本地
    git tag -d v1.0

    # 远端 推送
    git push origin :/refs/tags/v1.0

第二章 配置文件

1.项目配置文件

1
2
3
4
项目/.git/config 

git config --local user.name "cc"
git config --local user.email "[email protected]"

2.全局配置文件

1
2
3
4
~/.gitconfig

git config --global user.name "cc"
git config --global user.email "[email protected]"

3.系统配置文件

1
2
3
4
5
/etc/.gitconfig
注意:需要有root权限

git config --system user.name "cc"
git config --system user.email "[email protected]"

第三章 免密登录

  • URL中体现

    1
    2
    3
    4
    5
    原来的地址:https://github.com/VanCholen/tmpp.git
    修改的地址:https://用户名:密码@github.com/VanCholen/tmpp.git

    git remote add origin https://用户名:密码@github.com/VanCholen/tmpp.git
    git push origin master
  • SSH实现(主要采用这种)

    1
    2
    3
    4
    5
    6
    7
    1.生成公钥和私钥(默认放在~/.ssh下,id_rsa.pub是公钥、id_rsa是私钥)
    ssh-keygen
    2.拷贝公钥的内容到github中
    3.在git本地中配置ssh地址
    git remote add origin [email protected]:VanCholen/tmpp.git
    4.以后使用
    git push origin master
  • git自动管理凭证

第四章 git忽略文件

1
2
3
.gitignore文件

参考https://github.com/github/gitignore

第五章 任务管理相关

1
2
issues:常见问题
wiki:文档说明

分支

  • 创建分支

git checkout -b dev <==> git switch -c dev

  • 切换分支

git checkout master <==> git switch master

  • 删除分支

git branch -d dev

标签

  • 本地打标签

    git tag -a v1.0 -m 说明

  • 本地打完标签推远端

    git push origin v1.0 OR

    git push origin --tags

  • 本地删标签

    git tag -d v1.0

  • 本地删标签后推远端 :ref/tags/标签名

    git push origin :refs/tags/v1.0

这个网站很有用:

https://backlog.com/

文章作者: 小王同学
文章链接: https://morvan.top/2021/11/14/git常用记录/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小王同学的精神驿站