0
点赞
收藏
分享

微信扫一扫

Git基础教程

墨春 2022-01-27 阅读 78
gitgithub

Git简介

Git 是一种开源的分布式版本控制系统。目前,较多开发人员使用其技术进行项目版本控制和协同开发等需要。Git可以做的事情如下:

  • 版本控制和分支管理
  • 本地仓库与原仓库提交,拉取,合并,推送
  • 协同开发,整个团队中所有人都可以访问;

本文主要从实用主义角度出发,介绍Git常用命令的操作方法,暂未对其背后原理进行深入探索。


Git安装步骤

windows下Git安装:

  1. 在官网(Git for Windows)或者国内镜像网站(git-for-windows Mirror)下载对应版本exe文件并安装。
  2. 安装完成过后,可在"开始"界面中找到"Git Bash"或者"Git CMD",表明安装成功。

Git常用操作

基础准备

1.安装Git后,打开Git CMD窗口,并进入工作文件夹

2.进入Github网站注册账号并登录,创建"new repository",在新建的仓库界面中点击"code",

再点击 Use HTTPS ,复制项目地址  https://github.com/Just-9ne/GitDemo.git备用

 

git clone

git clone https://github.com/gafish/gafish.github.com.git

git config

git config --global user.name "username"
git config --global user.email "email@example.com"
git config --list 

 git init

$ git init

Initialized empty Git repository in D:/GitDemo/.git/

git add

git add README.md

注:首先需要在项目文件下新建一个README.md文件 

git commit

git commit -m "提交原因说明"

 命令执行结果如下:

PS D:\gitdemo> git add main.cpp
PS D:\gitdemo> git commit -m "提交原因说明"
[master 28536b9] 提交原因说明
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 main.cpp

1 file changed:表示一个文件发生了改动。

0 insertions(+) 0 deletions(-):表示文件内容未做插入和删除操作。

git commit --amend

git status

git status

 命令执行结果如下:Changes to be commited表示文件已经提交到暂存区

PS D:\gitdemo> git add camera.cpp
PS D:\gitdemo> git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   camera.cpp

git log 

git log

 命令执行结果如下:

PS D:\gitdemo> git log
commit 3a44ec34ce98fd296ae4d25e533ffe48a954009a (HEAD -> master)
Author: Just-9ne <信息不放便展示@qq.com>
Date:   Wed Jan 26 21:36:38 2022 +0800

    <E6><8F><90><E4><BA><A4><E6><8F><8F><E8><BF><B0><E8><AF><B4><E6><98><8E>

commit 8f6adca802da31101a0f8e6aef916130ebfdc6ce
Author: Just-9ne <信息不放便展示@qq.com>
Date:   Wed Jan 26 21:30:15 2022 +0800

git reset

回退上一版本:在Git中,使用HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,HEAD~100表示往上100个版本。

git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD~100

回退到某一具体版本:命令git reset --hard 提交版本号 可回退到某一具体版本,其中提交版本号通过git reflog命令查询

git reflog
git git reset --hard 提交版本号

 命令使用案例:

PS D:\gitdemo> git reflog
3a44ec3 (HEAD -> master) HEAD@{0}: reset: moving to 3a44ec34ce98fd296ae4d25e533ffe48a954009a
28536b9 HEAD@{1}: reset: moving to HEAD^
b30be5d HEAD@{2}: commit: <E6><8F><90><E4><BA><A4><E5><8E><9F><E5>▒<A0>
28536b9 HEAD@{3}: commit: <E6><8F><90><E4><BA><A4><E5><8E><9F><E5>▒<A0><E8><AF><B4><E6><98><8E>
3a44ec3 (HEAD -> master) HEAD@{4}: commit: <E6><8F><90><E4><BA><A4><E6><8F><8F><E8><BF><B0><E8><AF><B4><E6><98><8E>
8f6adca HEAD@{5}: commit (amend): a new file
87457a2 HEAD@{6}: commit (initial): new file
PS D:\gitdemo> git reset --hard 28536b9
HEAD is now at 28536b9 提交原因说明

git remote

 远程地址为前期基础准备阶段从Github中复制的项目地址

git remote add [别名] [远程地址]
git remote -v

 使用案例:

PS D:\gitdemo> git remote add origin https://github.com/Just-9ne/GitDemo.git
PS D:\gitdemo> git remote -v
origin  https://github.com/Just-9ne/GitDemo.git (fetch)
origin  https://github.com/Just-9ne/GitDemo.git (push)

git push

git push [远程仓库别名] [待推送分支]

 使用案例:origin 指代的是当前的Git服务器地址,这行命令的意思是把master分支推送到服务器,当看到命令行返回如下字符表示推送成功了。

PS D:\gitdemo> git push origin master
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 8 threads
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), 640 bytes | 640.00 KiB/s, done.
Total 7 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), done.
remote:
remote: Create a pull request for 'master' on GitHub by visiting:
remote:      https://github.com/Just-9ne/GitDemo/pull/new/master
remote:
To https://github.com/Just-9ne/GitDemo.git
 * [new branch]      master -> master

git pull

git pull [远程仓库别名] [待拉取分支名]

使用案例:

PS D:\gitdemo> git pull origin master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/Just-9ne/GitDemo
 * branch            master     -> FETCH_HEAD
   28536b9..7792bcd  master     -> origin/master
Updating 28536b9..7792bcd
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

进入Github网站的项目首页,再进入 master 分支,在线对 README.md 文件做一些修改并保存,然后在命令中执行以上命令,它将把刚才在线修改的部分拉取到本地,用编辑器打开 README.md ,你会发现文件已经跟线上的内容同步了。

如果线上代码做了变动,而你本地的代码也有变动,拉取的代码就有可能会跟你本地的改动冲突,一般情况下 Git 会自动处理这种冲突合并,但如果改动的是同一行,那就需要手动来合并代码,编辑文件,保存最新的改动,再通过 git add .和 git commit -m 'xxx' 来提交合并。

git branch

分支创建:创建一个名为daily/0.0.0的日常开发分支。

git branch daily/0.0.0

分支重命名:重命名分支名为daily/0.0.1

git branch -m daily/0.0.0 daily/0.0.1

 分支查看:通过不带参数的branch命令可以查看当前项目分支列表

git branch

分支删除:可以通过 -d 参数将已完成使命的分支删除

git branch -d daily/0.0.1

git checkout 

 切换到daily/0.0.1分支,后续操作将在这个分支上进行。

git checkout daily/0.0.1

参考资料:

举报

相关推荐

0 条评论