sudo apt-get update
# 安装需要的插件
sudo apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
# 安装git
sudo apt-get install git
# 查看版本
sudo git --version
git config --global user.name "名字"
git config --global user.email "邮箱"
# 查看配置
git config --list --global
# 配置也可以在 ~/.gitconfig 或 /etc/gitconfig 看到
这里加上 --global 是全局的配置, 如果想要在某个特定的配置中使用单独的配置就将–global去掉
ssh-keygen -t rsa -C "邮箱地址”
一直enter, 会在这个路径下生成两个文件
将.pub文件的内容复制到,github或者gitlib中
# 创建文件夹
mkdir gittest
# 创建版本库
git init
ll
# 文件夹中出来一个.git文件夹, 后续跟踪管理版本库
vim readme.txt
# 写入
git 01
git 02
# 第一步
git add readme.txt
# 第二步
git commit -m "说明"
# 查看状态
git status
# 查看改了什么
git diff readme.txt
git log
# 简化信息
git log --pretty=oneline
# 回到上一版本是HEAD^, 上上版本是HEAD^^, 还可以写数字HEAD~100
git reset --hard HEAD^
git reset --hard 版本号
# 如果找不到版本号了,查看历史命令
git reflog
# 改变readme.txt
# git add
# 改变readme.txt
# git comiit
# 你会发现只有第一次修改的内容提交了, 第二次没有
# 让文件回到最近一次git commit或git add时的状态
git checkout -- readme.txt
# 将暂存区的内容撤销到,回退到工作区
git reset HEAD readme.txt
git reset --hard HEAD^
# 方法一
git rm readme.txt
git commit -m '删除了readme.txt'
# 方法二
rm readme.txt
git add
git commit -m '删除了readme.txt'
git checkout -- readme.txt
# origin 远程版本库的名字,一般默认是origin, 可以改
git remote add origin “自己创建的ssh,界面会提示”
# -u 是将本地master和远程master关联
git push -u origin master
# 后续push 只用
git push origin master
# 查看远程库信息
git remote -v
# 删除远程库, 其实是解除关联, 不是真的删除
git remote rm origin
git clone ‘复制上图内容’
# 每次编辑前, 拉取最新代码
git pull
# 创建分支
git branch 分支名
# 查看分支
git branch
# 切换分支
git checkout 分支名 或者 git switch 分支名
# 创建加切换
git checkout -b 分支名 或者 git switch -c 分支名
# 合并某分支到当前分支
git merge 分支名
# 删除分支
git branch -d 分支名
# 创建分支dev
git switch -c dev
# 修改readme.txt 最后一行
# 在dev分支上提交
git add readme.txt
git commit -m "change 03"
# 切换到master分支
git switch master
# 修改readme.txt 最后一行
# 在master分支上提交
git add readme.txt
git commit -m "change 04"
# 合并分支
git merge dev
# 会出现分支冲突, 查看改变git show readme.txt
# 查看冲突
cat readme.txt
# 将文档同步后重新add和commit, 然后merge
# 查看分支图
git log --graph
# 强行删除分支
git branch -D dev
# 第一步、先切换到要打包的分支
git branch
# 第二步、打标签
git tag v1.0
# 查看标签
git tag
# 历史版本打标签
git log --pretty=oneline --abbrev-commit
git tag
# 参数-a 标签名。 -m标签说明
git tag -a v0.1 -m "version 0.1 " 1094adb
git show <tagname>
# 删除标签
git tag -d v0.1
# 推送标签到远程
git push origin v1.0
# 一次性推送所有标签
git push origin --tags
# 删除远程标签,先删除本地,再从远程删除
git tag -d v0.9
git push origin :refs/tags/v0.9
sudo apt-get install git
sudo adduser git
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
# 先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令
sudo git init --bare sample.git
sudo chown -R git:git sample.git
# 出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行
git:x:1001:1001:,,,:/home/git:/bin/bash
# 改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
# 这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
# 可以通过git clone命令克隆远程仓库了,在各自的电脑上运行
git clone git@server:/srv/sample.git
引用文件
git常用命令pdf