git 分布式版本管理工具 - Go语言中文社区

git 分布式版本管理工具


git 迁移
git clone --bare git@127.0.0.1:scan/XXXX.git
git push --mirror git@127.0.0.1:scan/XXXX.git
方式一:修改远程仓库地址
【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。
方式二:先删除远程仓库地址,然后再添加
【git remote rm origin】 删除现有远程仓库
【git remote add origin url】
git pull --allow-unrelated-histories 允许拉取未关联的记录
git branch --set-upstream-to=origin/ master

git rm -r --cached .idea 移除缓存
git push origin :the_branch //删除远程 the_branch

分支 fetch merge cherry
git branch -a
git checkout -b dev

Git 的官方网站:http://git-scm.com

提交
git add .
git commit -m “msg”
git pull origin master:master
git push origin master:master

Git global setup
git config --global user.name “username”
git config --global user.email “xxxx@xxx.xxx.xx”

Create a new repository
git clone git@127.0.0.1:scan/plugin.git
cd plugin
touch README.md
git add README.md
git commit -m “add README”

Existing folder
cd existing_folder
git init
git remote add origin git@127.0.0.1:scan/plugin.git
git add .
git commit -m “Initial commit”

Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@127.0.0.1:scan/plugin.git

$ ~/.ssh/config # 用户配置文件
$ /etc/ssh/ssh_config # 系统配置文件
Host example # 关键词
HostName example.com # 主机地址
User root # 用户名
# IdentityFile ~/.ssh/id_ecdsa # 认证文件
# Port 22 # 指定端口

Git 基础知识
Git 是目前世界上最先进的分布式版本控制系统。
Linus 在 1991 年创建了开源的 Linux,2008 年GitHub 网站上线了,它为开源项目免费提供 Git 存储
在 Windows 上安装 Git
$ git config --global user.name “Your Name”
$ git config --global user.email "email@example.com"
版本库又名仓库,英文名 repository,
git init
git add
git commit
git status仓库当前的状态
git diff readme.txt 查看更改内容
git log 命令显示从最近到最远的提交日志commit历史
git log --pretty=oneline
HEAD 表示当前版本
git reset --hard HEAD
git reset --hard 3628164
git reflog 查看命令历史

learngit 文件夹就是一个工作区:
隐藏目录.git是 Git 的版本库。stage(或者叫index)的暂存区,还有 Git 为我们自动创建的第一个分支 master,
以及指向master 的一个指针叫 HEAD。
git checkout – file 撤销文件更改
git reset HEAD file
git rm test.txt

远程仓库
自行注册 GitHub 账号,由于你的本地 Git 仓库和 GitHub 仓库之间的传输是通过 SSH 加密的。
第 1 步:创建 SSH Key $ ssh-keygen -t rsa -C "youremail@example.com"
第 2 步:登陆 GitHub,在 Key 文本框里粘贴 id_rsa.pub 文件的内容
远程创建仓库 默认origin
连接 $ git remote add origin git@github.com:michaelliao/learngit.g
首次推送 $ git push -u origin master
拉取 git pull origin master:master
推送 git push origin master:master
克隆一个仓库,首先必须知道仓库的地址,然后使用 git clone 命令克隆

分支管理
在这里插入图片描述
在这里插入图片描述
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
git branch -a
git remote -v
在这里插入图片描述
查看合并情况:$ git log --graph --pretty=oneline --abbrev-commit

分支管理策略
Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息。
$ git merge --no-ff -m “merge with no-ff” d 禁用Fast forward 模式
master 分支应该是非常稳定的,也就是仅用来发布新版本
在这里插入图片描述
Bug 分支
git stash
git stash list
一是用 git stash apply 恢复
git stash drop 来删除
git stash pop,回到工作现场
git branch -D name强行删除
git checkout -b dev origin/dev 创建本地+远程dev分支
git branch --set-upstream dev origin/dev 建立本地与远程dev分支连接

标签
Git 的标签虽然是版本库的快照,但其实它就是指向某个 commit 的指针
git tag v1.0
git tag v0.9 62249 历史追加打标签
git show v1.0
git tag -a v0.1 -m “version 0.1 released” 3628164 标签说明
git tag -d v0.1 删除标签
git push origin v1 标签推送
git push origin --tag
git push origin :refs/tags/tagname可以删除一个远程标签

git自定义配置
git config --global color.ui true
gitignore 文件,忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java 编译产生的.class 文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件
    配置别名 、用户名和密码
    cat .git/config

搭建 Git 服务器
第一步,安装 git: $ sudo apt-get install git
第二步,创建一个 git用户,用来运行 git服务: $ sudo adduser git
第三步,创建证书登录: id_rsa.pub文件把所有公钥导入到/home/git/.ssh/authorized_keys 文件里,一行一个。
第四步,初始化 Git 仓库: $ sudo git init --bare sample.git $ sudo chown -R git:git sample.git
第五步,禁用 shell 登录: 编辑/etc/passwd 文件 git❌1001:1001:,:/home/git:/usr/bin/git-shell
第六步,克隆远程仓库: $ git clone git@server:/srv/sample.git
Gitosis 来管理公钥,权限控制的目的Gitolite

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41078437/article/details/88711140
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-02 19:04:27
  • 阅读 ( 1268 )
  • 分类:研发管理

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢