git基础入门以及git常用命令

简介: git是一个开源的分布式版本控制系统,用于敏捷高效的处理或大或小的项目,更是一个内容管理系统(CMS),工作管理系统。git是分布式的,svn不是git把内容按元数据方式存储,而svn是按照文件git没有一个全局的版本号,而svn有git的内容完整性要优于svn。

1、git基础入门


1.1 基础概念


git是一个开源的分布式版本控制系统,用于敏捷高效的处理或大或小的项目,更是一个内容管理系统(CMS),工作管理系统。


git和snv差异


git是分布式的,svn不是

git把内容按元数据方式存储,而svn是按照文件

git没有一个全局的版本号,而svn有

git的内容完整性要优于svn。

1.2 安装


window平台安装,安装包下载地址


Git for Windows


安装时候按照提示步骤,一步一步安装就行了。安装完成就可以使用git工具,还有一个图形界面的项目管理工具。


图形管理工具

e70d0c2b16e505acd3a82179e9cf66b.png

git命令行

9967ef06bafc44602a4f460569dfcc9.png


1.2 git配置


git提供了一个git config的工具,用来配置读取相应的工作环境变量


在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings\$USER。


1、配置个人的用户名和邮件


使用了global选项,以后所有的项目都会默认使用这里配置的用户信息

git config --global user.name 'youname'
git config --global user.email test@163.com

f7b0ee9e6833f4e494f6916a1eebd08.png


2、查看配置信息

git config --list //所有的配置信息都会列出来
git config user.name //查看姓名
git config user.email //查看邮箱

780062aa91ec51780baf5f3dfc7ee91.png


3、工作流程图

dcba310c608c8f5516d8876eef3fceb.png


b24f41953350ab29cbba3ad33a96fb3.png


1.3 git工作区、暂存区、版本库概念


  • 工作区:电脑里面能看到的目录
  • 暂存区:英文stage或者index,在.git目录下的index文件,暂存区也叫索引。
  • 版本库:工作区有个隐藏的目录.git,这个不算工作区,而是git的版本库
  • d2f3170e9ef1d9407c0d85618d4bb34.png



2、git基本操作


2.1 git初始化:git init


git使用init来初始化仓库,因为很多命令都需要在仓库里面使用,因此首先需要初始化,初始化以后,仓库下回多出来一个.git目录(隐藏文件,可在文件夹设置里面把隐藏文件显示),.git目录下包括了所有的元数据。如果需要某个文件当做仓库,只需要再当前目录下,在执行git init命令。

a52caaf8b9daa25efe558cd945aff32.png


2.2 创建仓库:git init 【directory】


使用指定目录作为git仓库,执行这个命令,会生成一个newrepo的文件,作为git仓库,newrepo里面也有一个.git目录

6e6e43f1234ebf1d7d0f2e145cb10cb.png


2.3 拷贝(克隆)项目:git clone [url]


使用git clone从仓库中拷贝代码,也可以克隆项目到指定文件夹。url是git仓库地址,directory本地目录

git clone [url] 
git clone [url] [directory]

2.4 查看项目的当前状态:git status


查看当前项目的状态,更改了那些文件。如果你新建了文件,添加了文件到缓存,修改了文件,想知道有没有提交,都可以执行这个命令,来查看相关的文件信息,和你的操作轨迹。

git satus

2.5 新建文件等文件操作命令:touch [filename]


touch a // 创建一个a文件
echo 1234 >> a // 把1234这个内容放入a文件
cat a // 打开a文件 读取出a文件中的内容
mkdir test // 创建test文件夹
rm 文件名 // 删除文件

2.6: 降文件添加到缓存区:git add [filename]


将文件添加到缓存,如果是多个文件,在命令行后面新增文件名即可。

git add test.js//把test.js提交到缓存
git add test.js one.html//把test,one提交到缓存区
git add .//把所有文件提交到缓存区

2.7 提交文件到本地仓库:git commit


执行git commit将缓存区内容添加到仓库中。每次提交都会记录你的名字与邮箱,所以要提前设置一下。-m添加注释

git commit //提交到仓库
git commit -m '注释内容' //提交到仓库,添加备注信息
git commit -am ''//提交到仓库,添加备注信息,文件已经放入仓库,直接提交添加备注,不用add,commit。


2.8 提交代码到远程仓库:git push


git push //把文件上传到远程仓库

2.9 更新代码,从远程仓库拉取代码:git pull


git pull //从远程仓库拉取代码,类似svn的update

2.10 取消已缓存的内容:git reset head /[filename]


取消赢缓存的内容(git add提交到缓存里面的文件),


git reset head,取消所有缓存的内容(当前版本);


git reset [filename],取消指定文件的内容。取消以后,可执行status查看文件状态;

git reset head
git reset test.js


89b7f87756be645621f429f50682775.png

2.11 删除文件:git rm 【file】


从git里面移除某个文件,执行git rm [file]命令;


如果要删除暂存区的的文件,则执行git rm -f [file]命令;


如果要删除暂存区的文件,但是又要保留在工作目录中,执行 git rm --cached [file];


从工作区删除删除目录,git rm -r [directory ]

git rm test.js
git rm -f test.js
git rm --cached test.js
git rm -r test 

2.12、比较文件:git diff


如果文件已经修改了,还么有提交,可以执行 git diff命令,来查看差异

2.13 查看提交日志:git log/relog


查看命令历史,查看仓库的操作历史

git log
git reflog
git log -n//查看近期提交的n条记录
git log -p//查看提交的详细记录

2.14 快速打开图形操作界面:gitk


gitk

2.15 查看文件信息:ls


1. ls // 查看当前路径下面的所有文件名
2. ls 文件夹名 // 查看对应文件夹中的内容
3. ls -l // 拉出最近git提交记录以及对应修改的文件名
4. ls -l -a // 拉出最近git提交记录以及对应修改的文件名,隐藏的文件也会显示

2.16 文件目录操作:cd


1. cd ~ // 将工作路径快速切换到root
2. cd - // 将工作路径切换到上一状态
3. cd ../ // 切回到上一个工作路径
4. cd 文件夹名 // 进入某个目录
5. cd / // 进入根目录

2.17 常见分支操作:


git branch //列出本地所有分支
git branch 分支名 // 新建分支
git branch // 查看当前所有分支
git checkout 分支名 // 检出分支
git checkout -b 分支名 // 创建并切换分支
git checkout commitId 文件名(文件路径下的文件名) 还原这个文件到对应的commitId的版本
(例如src/page/attendance/attendanceSum.vue我想把它还原到2个版本之前 首先git log src/page/attendance/attendanceSum.vue找到对应想要还原的版本
复制版本提交的commitID 然后执行git checkout commitID src/page/attendance/attendanceSum.vue
这样就把attendanceSum.vue这个单个文件 还原到了对应版本)
git branch -v // 查看分支以及提交hash值和commit信息
git merge 分支名 // 把该分支的内容合并到现有分支上
git branch -d 分支名 // 删除分支
git branch -D 分支名 // 强制删除 若没有其他分支合并就删除 d会提示 D不会
git branch -m 旧分支名 新分支名 // 修改分支名
git branch -M 旧分支名 新分支名 // 修改分支名 M强制修改 若与其他分支有冲突也会创建(慎用)
git branch -r // 列出远程分支(远程所有分支名)
git branch -a // 查看远程分支(列出远程分支以及本地分支名)
git fetch // 更新remote索引
git push -u origin 分支名 // 将本地分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push 也可解决 git建立远程分支关联时出现fatal ... upstram的问题

2.17 标签操作:git tag


git tag // 查看列出所有打过的标签名
git tag -d 标签名 // 删除对应标签
git tag 标签名字 // 在当前仓库打个标签
git tag foo -m "message" // 在当前提交上,打标签foo 并给message信息注释
git tag 标签名 哈希值 -m "message" // 在某个哈希值上打标签并且写上标签的信息
git tag foo HEAD~4 // 在当前提交之前的第4个版本上 打标签foo
git push origin --tags // 把所有打好的标签推送到远程仓库
git push origin 标签名 // 把指定标签推送到远程仓库
git stash // 把暂存区的内容 暂时放在其他中 使暂存区变空
git stash list // 查看stash了哪些存储
git stash pop // 将stash中的内容恢复到当前目录,将缓存堆栈中的对应stash删除
git stash apply // 将stash中的内容恢复到当前目录,不会将缓存堆栈中的对应stash删除
git stash clear // 删除所有缓存的stash
git pull --tags // 把远程仓库的标签也拉取下来
git push origin :refs/tags/远程标签名 // 删除远程仓库的标签



2.18 远程同步操作


# 下载远程仓库的所有变动
$ git fetch [remote]
# 显示所有远程仓库
$ git remote -v
# 显示某个远程仓库的信息
$ git remote show [remote]
# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]
# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]
# 上传本地指定分支到远程仓库
$ git push [remote] [branch]
# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force
# 推送所有分支到远程仓库
$ git push [remote] --all

3、提交代码步骤


3.1 查看当前状态:git status


第一步,查看当前文件状态,git status,查看修改了那些文件,红色字体就是修改的文件

f204d1b6d58c7a73598759cd38063a0.png

3.2 添加文件到缓存区:git add .


如果one.vue,test.vue你都都想提交执行git add .

如果只提交一个文件,执行 git add one.vue,提交指定的文件。

再执行 status看一下,是否全部提交成功。

9654606ee910c4452151bddf8869ac0.png


3.3 提交代码到本地仓库:git commit -m 'xx'


提交代码(提交已经加到缓存区里面的代码)到本地仓库

d5c90e825a47fa43c12495cd0dc3306.png

3.4 从远程主机更新代码:git pull [主机] [分支]


取回远程主机某个分支的更新,再与本地的指定分支合并

7f059661feafcdb93d0bd576c629c3c.png

3.5提交代码到远程仓库:git push [主机] 【分支】


4a6dccebe76ad8f9b97d92eacc71505.png



目录
相关文章
|
13天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
35 1
[Git]入门及其常用命令
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
107 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
17天前
|
开发工具 git 开发者
|
17天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
37 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m "Commit message"`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert <commit>`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。
|
2月前
|
开发工具 git 开发者
GIT命令的综合总结
Git的学习曲线可能比较陡峭,但熟练掌握这些命令后,你将能够更加高效地管理和协作你的项目。希望这份指南能帮助你成为Git的高效用户。
49 7
|
2月前
|
开发工具 git
深入理解Git中的git pull和git fetch命令
深入理解Git中的git pull和git fetch命令
93 0