Git基本使用

Git 基本作用

git 有工作区、暂存区、版本库

Git 命令

git init //初始化版本库
git add file_name //将file_name从工作区添加到暂存区
git commit //将暂存区的修改提交到版本库 -m 添加
git status //查看仓库状态
git diff file_name //查看版本库中file_name与工作区file_name的不同
git log //查看提交记录 --pretty=oneline 一行显示一条记录
git reset --hard HEAD^ //HEAD表示当前版本,^表示上一版本 ^^表示上两个版本,依此类推
git reset --hard commit_id //回退到指定id版本
git reflog //查看历史命令
git checkout -- file_name //撤销对工作区file_name文件的修改,如果add到暂存区可以用git reset HEAD file_name 来撤销暂存区的修改,如果commit之后可以用git reset --hard HEAD^来回退到上一个版本
git rm file_name //删除某文件,删除版本库中的文件一定要commit,没有commit之前可以用git checkout -- file_name撤销删除,commit之后可以回退版本

远程仓库

远程仓库一定要加ssh key如果不加则无法push
ssh生成命令
ssh-keygen -t rsa -C "email"

git clone remote_repository_link
git remote add origin remote_repository_link //origin 远程仓库名称
git push -u origin master //master 本地分支名称
git push origin master 
git checkout -b dev origin/dev //抓取远程dev分支到本地dev分支
git pull //合并远程分支到本地

git remote //查看远程分支
git remote -v //查看远程分支详情

git branch --set-upstream dev origin/dev //关联本地分支到远程分支

分支

git 默认有一个master分支

git checkout -b branch_name //创建并切换分支
git branch branch_name //创建分支
git checkout branch_name //切换分支
git branch //查看分支
git branch -d branch_name //删除分支 -D 为强行删除
git merge branch_name //合并指定分支到当前分支

git log --graph --pretty=oneline --abbrev-commit //--graph可以查看分支合并图

git merge --no-ff -m "" branch_name // --no-ff 禁用fast-forward模式,会创建一个新的commit

git stash //保存工作现场
git stash list //列出所有保存的工作现场。如,stash@{0}: WIP on dev: 6224937 add merge
git stash pop //恢复工作现场并删除
git stash apply //恢复工作现场
git stash drop //删除工作现场
//以上三个命令在有多个stash的时候,可以加上stash id 如 git stash pop stash@{0}

标签

git tag tag_name //创建标签
git tag //列出所有标签
git tag tag_name commit_id //为指定commit添加标签
git tag -a tag_name -m "" commit_id //为指定commit添加带说明的标签
git tag -s tag_name -m "" commit_id //用私钥签名一个标签(签名采用PGP签名,因此,必须首先安装gpg(GnuPG))

git tag -d tag_name //删除标签

git show tag_name //查看标签详情

git push origin tag_name //推送标签到远程
git push origin --tags //推送所有标签未推送过的到远程

//删除远程标签
git tag -d v1.0 //先删除本地
git push origin:refs/tags/v1.0 //删除远程标签

Git 一些配置

git config --global color.ui true //git显示颜色
//别名
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1' 
//一个牛X的配置
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

创建git服务器

这里只先说下linux的
1. 安装git
sudo apt-get install git
2. 创建git用户,运行git服务
sudo adduser git
3. 创建证书登录
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
4. 初始化Git仓库
假定git仓库为/srv/sample.git,在/src目录下输入
sudo git init --bare sample.git
更改git仓库权限
sudo chown -R git:git sample.git
5. 禁用shell登录
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值