Git安装使用

Git

Preface

版本工作工具: Git

Getting Start (Ubuntu)

Install & Update

# INSTALL
sudo apt-get install git
# UPDATE
sudo apt-get update
sudo apt-get install git

Run

git

Create Repository

# 自定义创建test1的目录并进入.
git init
# Initialized empty Git repository in /home/unbuntu-lls-one/lee_repository/test1/.git/
# 在该目录下会生成一个.git的文件.

Version & Rollback

# 自定义创建一个aaa.txt文件.
# 给对象文件添加版本. commit为设置版本号信息.
# git add [filename]
# git add . 表示添加目录下的所有文件的修改到暂存区.
git add aaa.txt
git commit -m 'aa0.1'
# 需要配置默认account identity
# 查看版本信息.
git log
# Rollback, 回退之前版本. 方式有很多种.
git reset --hard HEAD^
# --hard 后面也可以写上log中的commit值.
  • HEAD^: 回到上一个版本.
  • HEAD^^: 回到上上个版本.
  • HEAD~n: n表示回到前多少个版本.
# 通过reflog中的commit值来回到对应的版本.
git reflog
# reflog记录了历史回退版本信息.
31502f3 (HEAD -> master) HEAD@{0}: reset: moving to 31502f3699a8f4dd5b5b0f80b8dd65f42b0ea0fe
514f188 HEAD@{1}: reset: moving to HEAD~1
d5bab2e HEAD@{2}: reset: moving to HEAD^
31502f3 (HEAD -> master) HEAD@{3}: commit: aa0.3
d5bab2e HEAD@{4}: commit: aa0.2
514f188 HEAD@{5}: commit (initial): aa0.1
# 通过commit值回退.
# git reset --hard [commit]
git reset --hard 514f188
to set your account’s default identity
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

WorkArea>>>Checkout>>>Version Checkout

  • WorkArea: 存在**.git目录的目录中, 任何没有add**到缓冲区的修改都会被记录.
  • Checkout: 修改被add的空间, 任何没有commit到版本的添加都会被记录.
  • Version Checkout: commit之后地方.

Show Status

# 查看当前位置中任何的修改或添加记录
git status
# 红: 文件的修改(modified), 新增的文件(untracked), 删除的文件.
# 绿: add但未commit的文件都会被记录.

Changed Undo

# 撤销WorkArea的修改.
# git checkout -- [filename]
git checkout -- aaa.txt
# 撤回已add的修改到WorkArea.
# git reset HEAD [filename]
git reset HEAD aaa.txt
git checkout -- aaa.txt

Contrast Different

# 对比同文件的不同状态的信息, -表示当前, +表示其他.
# 对比当前版本和WorkArea.
# git diff HEAD -- [filename]
git diff HEAD -- aaa.txt
# 对比当前版本和前一个版本.
# git diff HEAD HEAD^ -- [filename]
git diff HEAD HEAD^ -- aaa.txt

Deleted

# rm删除文件, 会被git记录.
# 如果确认删除.
# git rm [filename] 然后 git commit -m 'version'
git rm aaa.txt
git commit -m 'aa Deleted'
# 如果是误删.
# git checkout -- [filename]

On branch (master & other)

Branch

# 查看当前分支.
git branch
# 创建并切换到一个分支上工作.
# git checkout -b [branch]
git checkout -b dev1
# 切换分支.
# git checkout [branch]
git checkout master
# 可以在新分支下修改提交新的内容.
# git merge [branch] 来合并其他分支的工作内容.
git merge dev1
# 删除分支.
# git branch -d [branch]
git branch -d dev1
# 查看记录.
git log --graph --pretty=oneline

BUG Branch

# 如果我们已经在一个新分支中编辑了并且编辑的内容还没有add和commit.
# 突然来个master的bug我们怎么办了.
# 那么我们需要在master中新建一个bug分支来处理任务.
# 先把我们目前没有处理完的任务给stash.
git stash dev1
git checkout master
git checkout -b bug1
# 处理完了, 就回到master然后合并分支并删除bug1分支.
# 查看stash中的内容.
git stash list
# 把储存的dev1释放出来.
git stash pop
# 然后对这个任务进行处理就行了.

Git & Github (Ubuntu)

# 生成一个SSH公钥.
ssh-keygen -t rsa -C "you@email.com"
# 密码自定义或不给.
# 然后把~/.ssh目录下的id_rsa.pub公钥信息复制到Github中settings的SSH and GPG keys.
ssh -T git@github.com
# 完事.
# 如要把本地修改更新到github, 需把修改都commit掉.
# 然后要创建一个github repository.
git remote add origin "Your github_repository_url"
# 如果github上的库, 不是空的.
# 需要先把github上的库pull下来, 不然会报错.
# git pull --rebase origin master.
# 那么我们怎么把本地project更新到库呢?
git push -u origin master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值