相关术语

repository  仓库
branch      分支
summary     摘要
track       跟踪
modify      修改
stage       暂存
commit      提交
push        推送
pull        拉取
clone       克隆
amend       修改
merge       合并
conflict    冲突
origin      源
upstream    上游
downstream  下游
verbose     详情
reflog      参照日志

git基础

  1. modified: 已修改, 修改了项目但没有提交到本地数据库, 也就是没有git add
  2. staged: 已暂存, 就是执行了git add,但是没有git commit
  3. committed: 已提交, 保存在本地数据库, 就是执行了git commit

git基本工作流程

  • 写代码
  • 对修改的文件进行快照, 保存到暂存区域中
  • 提交代码, 将暂存区域中的文件快照上传到git中

基本配置

查看当前的git配置:

git config --list
git config user.name
git config user.email

//通过git config -h了解更多的git配置查询

修改当前配置(一般只需要配置一次, 但是如果换了电脑, 或者更换了系统我们就需要从新配置):

//用户名配置
git config --global user.name "LeiXiaofeng"

//邮箱配置
git config --global user.email "lxfleixiaofeng@163.com"

项目配置.gitignore

当我们提交项目到git时, 有很多文件是不需要提交的, 比如node_modules, .vscode, .idea等等

这是我们需要在项目的根目录下新建.gitignore文件

node_modules/
/*/node_modules/
.idea
.vscode

配置ssh

当我们从github远程服务器pullpush代码时, 如何验证提交和拉取的代码是谁? 为了避免每次输入用户名, 密码的麻烦, 我们可以通过配置ssh来解决。

查看本机的ssh:

//ssh一般存在.ssh中
//打开命令行
cd ~/.ssh           //进入对应目录
ls                  //如果有可以看到私钥id_rsa文件和公钥id_rsa.pub
cat id_rsa.pub 或者 vim id_rsa.pub      //查看文件内容

如果没有, 我们可以通过下面命令生成

ssh-keygen

接下来, 我们复制公钥的内容,登录github

在右上角头像下拉settings -> SSH and GPG Keys中点击 New SSH Key进行添加。

通过ssh -T git@github.com命令来验证SSH是否配置成功。

git基本操作

  • 初始化新仓库
git init
  • 查看文件状态
git status
  • 文件跟踪
git add xxx         //跟踪某个文件
git add .           //批量跟踪

文件是否add成功, 我们可以通过git status再检查一次

  • 文件提交本地仓库
git commit              //提交文件到本地仓库
git commit -m 'xxx'     //xxx是你本次提交的信息说明
git commit -am 'xxx'    //将所有已跟踪的文件暂存起来一并提交
  • 推送远程仓库
git push origin xxx
//你可以通过-u指定一个默认的源, 这样以后push就不用加origin
git push -u origin xxx
//以后就可以
git push
  • 拉取远程仓库
git pull origin xxx
//可以简写git pull, 如果提示no tracking information, 我们可以通过下面方法建立追踪,后续就可以直接git pull了
git branch --set-upstream branch-name origin/branch-name
  • 差异比较
git diff
  • 查看提交历史
git log                 //按提交时间列出所有的更新,最近的更新排在最上面
git log --oneline       //查看简要的历史记录
git reflog              //用来记录每一次命令, 常用来辅助版本切换

一次正常的代码提交流程

git add .
git commit -m 'xxx'
git pull
git push

git版本切换

有时候业务场景, 或者需求变更等各种因素, 需要我们切换回之前的某个版本。

要进行版本切换, 我们就得知道当前处于哪个版本:

git log --oneline

带有HEAD字样的就是我们当前所在版本, 通过git reset --hard id命令切换版本。 id可以是:

- HEAD^ : 上个版本
- HEAD^^: 上上个版本
- HEAD~10: 上10个版本

当你切换回上某个版本之后, 通过git log你就看不到最新版本了,这时我们就可以使用git reflog了, 这个命令会按照之前经过的所有的commit路径排列。

git分支管理

我们一般开发都会从master分支分离出dev或者其他开发分支, 用来开发, 这样即使开发出现问题也不会影响主分支。

使用git branch xxx创建一个新的分支。

使用git checkout xxx切换到新的分支

branch, checkout常用命令:

git checkout -b xxx         //可以快速新建并切换到新的分支

git branch -d xxx           //当分支合并到主分支, 这个分支就可以通过-d删除了

git branch -D xxx           //删除那些没有被合并的分支

git branch -a               //查看所有分支

分支合并

注意: 分支合并时, 你一定要保证你在要合并到这个分支的目标分支上

使用git merge xxx即可将xxx分支合并到你当前所在的分支。

正常的合并分支很简单, 这样就ok了, 但是分支合并, 如果在不同的分支修改了同一个文件的同一部分, 此时git是无法判断该使用哪个分支的代码的, 这样就会产生冲突,虽然git进行了合并, 但并没有提交, 需要我们解决冲突, 重新提交。

我们可以通过git status查看是哪些文件发生了冲突,然后逐一解决, 当我们把冲突的代码按正确的代码修复后, 需要重新git add, git commit, git push

操作远程仓库

clone远程仓库

通过git clone url来克隆远程仓库

比如:

//这个默认会在你拉取的路径下新建一个blog-mason的文件夹
git clone https://github.com/MasonEast/blog-mason.git   

//如果你不想要文件夹blog-mason, 你可以这样, 在url后面,空格加新名字
git clone https://github.com/MasonEast/blog-mason.git newName

//如果你就想要在当前路径下放项目文件, 不要那个外面的文件夹了, 可以用.
git clone https://github.com/MasonEast/blog-mason.git

查看远程仓库git remote

我们克隆的仓库通过git remote会看到一个叫origin的远程库, 这是git默认标识克隆的原始仓库

通过git remote -vgit remote --verbose我们可以查看到更加详细的信息,即对应的项目地址, 正常会有两个, 但如果你没有push权限的话就只能看到一个fetch的地址。

git remote -v

origin  git@github.com:MasonEast/blog-mason.git (fetch)
origin  git@github.com:MasonEast/blog-mason.git (push)

删除远程分支

git push origin :xxx
//也可以
git push origin --delete xxx

删除远程仓库

git remote rm xxx

重命名远程仓库

git remote rename oldName newName

关于误操作

git主要用于版本控制, 协同开发, 误操作可以撤销, 但是有的撤销是不可逆的, 我们一定要慎重对待, 不然可能导致部分代码丢失。

修改最后一次提交

场景: 某次提交完后, 发现少提交了文件, 我们需要撤销刚才的提交, 然后重新提交。

git add xxx             //添加少提交的文件到暂存区
git commit --amend      //往最后一次提交中追加少提交的文件, 这次提交不会产生记录

移除本地仓库的文件

场景: 我们通过git commit将文件提交到本地仓库后, 才想起来把不想提交的文件加进去了。

git rm xxx  

移除暂存区的文件

场景: 有时候我们习惯性git add ., 但有的文件我们不应该提交, 这时要从暂存区中移除文件。

git reset HEAD xxx      //从暂存区中移除xxx文件


晓锋

晓锋

只要心态是正确的,我们的世界就会的光明的。

61 条评论

头像

john wick · 2020年12月11日 00:39

I just like the helpful info you provide in your articles. Lesley Wilfred Adlee

头像

erotik izle · 2020年12月15日 05:04

This paragraph presents clear idea designed for the new users of blogging, that really how to do blogging. Nanon Gustave Zullo

头像

casino · 2020年12月17日 16:46

I am genuinely grateful to the owner of this web site who has shared this enormous article at at this time. Elle Tanny Kirtley

头像

sikis · 2020年12月18日 06:00

We provide personalized essay creating solutions and you will count on outstanding papers only shipped in a very well timed method. Zitella Emile Joya

头像

bahis · 2020年12月18日 12:46

Granulocytes are likewise known as neutrophils or E. B. White blood cells. Joey Miltie O’Dell

头像

erotik · 2020年12月18日 16:23

You are my inspiration , I possess few web logs and sometimes run out from to brand. Albertine Maurizio Desdamonna

头像

erotik · 2020年12月18日 18:12

I am so grateful for your blog. Really thank you! Awesome. Corinna Byram Mauri

头像

bahis · 2020年12月18日 20:33

Im thankful for the blog article. Much thanks again. Much obliged. Kyla Hailey Peggir

头像

erotik · 2020年12月18日 22:18

Hi, after reading this amazing post i am as well happy to share my knowledge here with mates. Hortense Early Budge

头像

sikis · 2020年12月18日 23:31

Sydney nightclubs are legendary for their size, variety and quality music. Aurilia Rickard Naples

头像

bahis · 2020年12月19日 01:43

This one is amongst my favourites shona. I think I started thinking for the first time when I read Ayn Rand. Not that I agree with her politics. Marybeth Johannes Stevenson

头像

erotik · 2020年12月19日 13:10

A round of applause for your article post. Really thank you! Really Cool. Jaquenetta Reinhold Cherilyn

头像

erotik · 2020年12月19日 16:45

There is visibly a package to learn about this. I think you made sure nice factors in functions also. Darsey Ken Rafter

头像

erotik · 2020年12月19日 18:10

Very good post. I am going through a few of these issues as well.. Maggy De Witt Cindy

头像

bahis · 2020年12月19日 21:27

Way cool! Some extremely valid points! I appreciate you penning this article and also the rest of the site is also really good. Liza Lester Meredithe

头像

sikis · 2020年12月19日 23:20

I am so grateful for your post. Really looking forward to read more. Great. Maridel Bertrand Boru

头像

bedava · 2020年12月20日 14:38

RrVD0T Im obliged for the post. Really looking forward to read more. Great. Orsa Waylen Bunce

头像

web-dl · 2020年12月20日 16:51

Major thankies for the blog article. Really looking forward to read more. Fantastic. Cesya Dougie Leann

头像

bedava · 2020年12月20日 18:00

Very interesting details you have observed, appreciate it for putting up. Trixy Torrence Durning

头像

yify · 2020年12月20日 22:24

There is certainly a great deal to learn about this issue. I love all of the points you made. Maitilde Taite Showker

头像

download · 2020年12月20日 23:57

This paragraph provides clear idea designed for the new users of blogging, that truly how to do blogging. Bee Andrea Mossberg

头像

ucretsiz · 2020年12月21日 03:23

Very informative blog post. Much thanks again. Great. Astrid Howard Grenier

头像

bedava · 2020年12月21日 05:07

I am truly grateful to the owner of this web site who has shared this enormous article at at this place. Pia Malachi Rozelle

头像

web-dl · 2020年12月21日 06:33

Valuable info. Lucky me I found your website accidentally, and I am surprised why this coincidence didn’t came about earlier! I bookmarked it. Donny Deck Mehalick

头像

bedava · 2020年12月21日 13:25

Thanks, we had a great time exploring all of them as well. Merrilee Ransom Rabjohn

头像

web-dl · 2020年12月22日 05:12

I really enjoy the article. Really thank you! Really Cool. Faye Benedick Janka

头像

indir · 2020年12月22日 19:52

But wanna input on few general things, The website design and style is perfect, the subject material is very fantastic : D. Roberta Gordy Brasca

头像

bedava · 2020年12月23日 11:59

Thanks again for the post. Really thank you! Keep writing. Tara Jedidiah Thorstein

头像

KhedMuby · 2020年12月31日 01:08

can i buy viagra over the counter in australia can you buy viagra over the counter viagra without prescritpion

头像

auto locksmiths near me · 2021年1月3日 04:54

I am incessantly thought about this, thanks for posting.

头像

chwilówki · 2021年1月3日 09:16

I reckon something truly special in this website.

头像

renault clio key fob · 2021年1月3日 10:44

Some really great info, Gladiola I detected this. I’m not spaming. I’m just saying your website is AWSOME! Thank you so much! Please vist also my website.

头像

mercedes sprinter key fob replacement · 2021年1月3日 11:54

Really nice design and good subject material. Please also check my website. I love cars!

头像

JlloAstet · 2021年1月9日 18:47

best drugstore bb cream cheap erectile dysfunction pills online family pharmacy

头像

Fgvdblulk · 2021年1月9日 20:24

canadian online pharmacies people’s pharmacy drugstore near me

头像

KhthMuby · 2021年1月10日 01:03

best drug store primer ed medication nearest drugstore

头像

netflix · 2021年1月30日 20:00

Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Beth Israel Hutt

头像

yabanci · 2021年1月31日 09:28

Pretty! This has been an extremely wonderful article. Thank you for providing these details.| Britte Myca Rosane

头像

altyazili · 2021年2月1日 09:04

Yes! Finally something about cheap flights. cheap flights 34pIoq5 Patrice Jess Durware

头像

FmnfBoype · 2021年2月1日 19:43

cialis black to buy in the uk cheap generic cialis cialis online canada paypal https://impotencecdny.com/info/history.php – cialis what age ’

头像

direk · 2021年2月2日 07:21

Thank you for sharing your info. I really appreciate your efforts and I will be waiting for your next post thanks once again. Lucine Farrel Fokos

头像

online · 2021年2月2日 10:16

If some one wants to be updated with hottest technologies afterward he must be go to see this site and be up to date daily. Coral Jessey Abdulla Claresta Dalis Nickey

头像

AhmdBoype · 2021年2月2日 11:54

cialis online aust Colospa cialis black 800 mg pill house https://impotencecdny.com/ – legitimate canadian mail order pharmacies ’

头像

JbbvBoype · 2021年2月4日 22:03

online medicine to buy pharmacies pharmacy prices compare

头像

LbsxBoype · 2021年2月4日 23:56

national pharmacies online viagra with priligy walmart online pharmacy

头像

Aqcfrekenvemy · 2021年2月5日 03:00

is cialis as effective as viagra cialis prescription assistance program cialis no prescription

头像

KuikAmela · 2021年2月5日 07:41

buy viagra in canada legally femal viagra can you buy viagra over the counter in the uk

头像

AhkdBoype · 2021年2月6日 07:33

canadian pharmaceuticals online safe canadapharmacy pharmacies in canada

头像

filmkovasi · 2021年2月6日 18:02

My family all the time say that I am killing my time here at net, but I know I am getting familiarity daily by reading thes fastidious posts. Karon Noble Stagg

头像

KbcxMuby · 2021年2月7日 03:26

canadian pharcharmy online no precipitation navarro pharmacy miami international drug mart canadian pharmacy online store

头像

FqhhBoype · 2021年2月7日 20:14

muscle relaxant buy prescription drugs online cialis generic pharmacy online

头像

dizi · 2021年2月9日 21:25

My brother recommended I might like this blog. He was totally right. This post actually made my day. You can not imagine just how much time I had spent for this info! Thanks! Seana Drud Dagna

头像

JbnbAstet · 2021年2月10日 06:14

rx online best canadian online pharmacy canada drug

头像

altyazili · 2021年2月10日 17:22

Hmm is anyone else having problems with the pictures on this blog loading? Larina Nels Abrams

头像

Nncsblulk · 2021年2月11日 07:38

viagra mit paypal can i buy viagra using paypal viagra canada

头像

LabxBoype · 2021年2月11日 21:00

video iene cialis il prezzo di cialis cialis algerie

头像

best headache med · 2021年2月11日 21:13

Thanks for your thoughts. One thing I’ve got noticed is the fact banks in addition to financial institutions understand the spending behaviors of consumers and as well understand that the majority of people max outside their cards around the breaks. They smartly take advantage of that fact and then start flooding ones inbox in addition to snail-mail box having hundreds of no interest APR credit cards offers shortly after the holiday season closes. Knowing that for anyone who is like 98% in the American general public, you’ll soar at the one opportunity to consolidate consumer credit card debt and switch balances towards 0 interest rate credit cards. nmmlkno https://headachemedi.com – best headache med

头像

JbbnBoype · 2021年2月11日 22:37

j’ai essayГ© le cialis cialis ordinare cialis europe-pharm

头像

Abcfrekenvemy · 2021年2月12日 05:50

generic viagra discover herbal viagra duro viagra 150

头像

KbbfAmela · 2021年2月12日 10:19

free viagra online in canada http://kloviagrli.com/ viagra cheap on line mastercard

头像

AhbzBoype · 2021年2月13日 08:00

alberta canola cash advance e z cash advance payday loan cabot ar

发表评论

邮箱地址不会被公开。 必填项已用*标注