学习git

Git 是 Linus Torvalds 于2005年为了帮助管理 Linux 内核开发而开发的一个开放源码的版本管理软件。版本管理是指管理更新的历史记录,git的这种特性使源代码的发布和交流极其方便

一.配置git

1-初次运行 Git 前的配置: 设置用户信息

git config --global user.name "你的用户名"
git config --global user.email "你的邮箱号码"

2.检查配置信息

git config --list

原理:Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。这些变量存储在三个不同的位置:

  • /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。
  • ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。可以传递 --global 选项让 Git 读写此文件。
  • 当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。
二.在本地创建git仓库,跟踪新增文件,提交文件

本地仓库由 git 维护的三棵“树”组成。
第一个是工作目录,它持有实际文件;
第二个是 暂存区(Index),它像个缓存区域,临时保存改动;
最后是 HEAD,它指向最后一次提交的结果。

step 1: 进入想要创建git仓库的文件夹
cd dir
step 2:创建git仓库
git init
step 3: 添加改动,如新增文件
step 4:查看git状态
git status
step 5:跟踪文件
git add file  跟踪某个文件
git add .   跟踪所有文件
step 6:提交更改
git commit - m "提交信息"

例如,我在gittest文件夹里新建一个git仓库,跟踪新增的1.md文件并提交

三-查看本地仓库的历史操作记录

1.基础命令:

git log

退出命令:Q

在上面的基础命令之后还可以添加参数来实现更具体的查询

  • 当你不知道有哪些参数时
git log --help
  • 查看哪些文件变了
  git log --name-status
  • 多人管理git时,只看某一个人的提交记录
git log --author=想查看的人名称
四-将github上的好项目保存到本地
step 1: 进入你要放项目的文件夹
step 2:将远程仓库文件克隆到本地
git clone /path/to/repository

然后你就可以在文件里愉快的玩耍啦~

五-提交本地文件到远程github仓库
step1: 在本地文件夹里添加远程仓库地址,并查看是否添加成功
git remote add origin <server>

git remote -v
step 2 :跟踪文件
git add .
step 3: 提交文件
git commit -m "提交信息"
step 4: 推送本地文件到远程仓库
git push origin master

例如,我将我本地的gittest文件夹提交到github里的learn-git仓库里

六-将远程仓库的更新取回本地
法一:
step 1: 查看远程分支

git branch -r
step 2: 取回分支
a-远程所有分支的更新
git fetch
b-取回特定分支的更新
git fetch <远程主机名> <分支名>
step 3: 比较本地的master分支和origin/master分支的差别
git log -p master..origin/master     或者   git diff <source_branch> <target_branch>

注:Q退出

step 4: 将取回的远程分支和本地的分支进行合并
git merge origin/master
法二:
git pull origin master

原理: git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。 使用–rebase,它运行git rebase而不是git merge。

在实际使用中,git fetch更安全一些

因为在merge前,我们可以查看更新情况,然后再决定是否合并结束

例如,我在github上的learn-git仓库里远程添加一个README.md文件,并将其取回到本地

七-修改本地改动
  • 回退文件,将文件从暂存区回退到工作区
git reset HEAD filename   /  git reset filename
  • 修改commit信息
  修改最后一次commit   : git commit --amend
  修改某个commit :  git rebase -i HEAD~第几条记录
八-HTTPS和SSH方式的区别和使用
1-SSH方式

SSH主要用于远程登录,将登录信息全部加密,这是一种相对安全的方式

step 1: 检查你的电脑上是否已经生成了SSH Key
cd  ~/.ssh ls
step 2: 若没有,创建一个SSH Key
ssh-keygen -t rsa -C "你的email地址"
step 3: 添加SSH Key到Git服务器
git remote rm origin
git remote add origin "Git仓库的ssh格式地址"
git push origin
2-http方式

此方法相较起来简单一些,copy https url,然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码.

参考资料:
git官方文档
git简明指南

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值