Git入门教程
admin
2023-02-19 18:40:09
0

Git 是一个开源的分布式版本控制系统,目前市面上流行的GitHub,GitLab,Gerrit等版本控制系统的核心都是通过Git去管理代码的。下面介绍一些常用的git命令。

1、 git clone remote_git_url local_directory
此命令会将远程git库clone到local_directory下。如果不指定local_directory,会以远程仓库名作为本地存储的文件夹名
2、 git init 和 git init --bare
git init :在当前文件夹,新建一个git库,文件夹下会生成一个.git的文件夹,当前文件夹相当于工作区,可以执行git add, git commit, git branch等操作,如果本地文件夹已经存放了需要进行管理的代码,使用git init是比较合适的,可以继续在此文件夹进行相应的开发工作。
git init –bare:在当前文件夹初始化一个裸库,只用来存放版本信息,不存在工作区,无法执行git add等操作,适合作为初始库,用以分享代码给其他人。
3、 git status
此命令用来总览本地代码的改动,以及当前代码库的状态
Git入门教程
如上图所示,执行git status 之后会将当前工作区的代码与本地代码库中的最新的代码做比较,给出相关改动的状态
Deleted: 表示文件test在工作区中被删除了
Modified:表示文件test2有改动
Untracked files: 表示文件test3还没有被加入到代码库中进行追踪管理

Git在给出工作区的状态后还会同时给出进一步处理所需要用到的相关命令,例如上图中显示的git add/rm , git checkout --

4、 git add
此命令用来将工作区的改动加入到暂存区。比如新增的文件,改动后的文件等,删除的文件等,使用方法是git add filename1 filename2 ,如果想把本地的改动全部加入到暂存区,可以使用git add .
我们对上图中的git库执行git add .之后再执行git status 可以得到将改动加入到暂存区之后的工作区状态
Git入门教程

5、 git rm
此命令用来将工作区的文件直接删除,并提交到暂存区。相当于先执行rm filename 在执行git add filename。
6、 git config
在我们将工作区的改动加到暂存区之后,下一步动作将改动提交到代码库里,在第一次执行提交之前我们需要先配置下我们的提交用户信息。
git config user.name Richard
git config user.email Richard@qq.com

user.name是提交日志里显示的用户名,user.email是提交日志里显示的用户邮件
这个命令只是给当前代码库配置提交信息。如果想给自己账户下所有的git库都配置提交信息,需要使用git config –global user.name 和 git config –global user.email
除了配置提交时的用户信息外,还可以配置编辑提交信息时所使用的的编辑器,命令如下:git config –global core.editor vim
即可使用vim来替代系统默认的编辑器。
7、 git commit
在配置好用户信息后我们可以使用git commit 命令来将已经加入到暂存区的改动提交到代码库里面。如下图所示,输入git commit之后会打开一个编辑器,你可以输入任何想输入的内容。如果提交信息较短,也可以直接使用git commit –m “ delete test, modify..”,直接进行提交
Git入门教程
有时在我们提交之后,可能会发现漏加了一笔改动,然后我们又不希望分成两笔提交,这时在我们执行git add之后,可以执行git commit –amend 来将两次改动合并到一笔提交中。
8、 git push
用来将本地仓库的修改推送到远程主仓库。
一般用法 git push origin master 次命令会将本地仓库master分支最新的提交推送到origin远程仓库对应的master分支
9、 git pull
从远程仓库获取更新并和本地分支合并。
默认情况下git pull 会获取远程仓库的改动然后和本地分支进行git merge. 如果我们希望执行git rebase而不是git merge 可以运行 git pull –rebase
10、 git log
查看提交日志
查看最新的5条日志git log -5
查看自某个commit起的日志 git log commit_hash..HEAD
查看某个文件第3行到第10行的改动:git log –L 3,10:filename
查看某个文件某个函数的改动:git log –L :funcnmae:filename
11、 git show
查看当前HEAD提交的具体改动内容
可以接其他提交的commit id查看对应的改动
12、 git diff
查看当前工作区相对于库中最新的代码所做的改动,只能查看未经暂存的改动
如需查看已暂存的和库中的对比的改动需要使用git diff --cached
13、 git branch
查看当前所在分支信息
Git branch –av 查看全部分支信息及最新的commit id
14、 git checkout
切换分支,或者还原工作区文件
git checkout –b new_branch 新建一个new_branch分支
15、 git format-patch
用于生成patch文件。
基于某次提交生成patch, git format-patch base_commit_id
生成的patch,名字一般为0001-.patch,0002.patch
16、 git am
将git format-patch生成的一系列的patch文件打到git库中
17、 git apply
将某一patch打到git库中,与git am的区别是am会将原始的提交信息也合入,apply只会将改动内容合入到工作区,不会自动入库
18、 git reset
回退到某个commit.
Git reset –hard commit_id, 将工作区和代码库都回退到指定的commit
Git reset –soft commit_id,将代码库回退到指定的commit,并将改动存放到暂存区。
19、 git merge, git rebase
都是用来合并分支。区别在于git merge是直接合并,git rebase是先将本地提交暂存,然后将HEAD更新到最新,在把本地提交合入。

相关内容

热门资讯

美国在巴拿马“秀肌肉”以制衡中... 【文/观察者网 阮佳琪】在遍布蝮蛇、森蚺与成群吸血飞虫的巴拿马境内,美军时隔25年重启了巴拿马丛林训...
女子趁男友熟睡刷脸21次盗转2... 5月6日,记者从上海市公安局普陀分局了解到一起盗窃案,三个多月时间,女友趁男友熟睡,多次解锁手机盗转...
24小时自助健身房:风口之下,... 在北京工作的陈佳佳是一名职场白领。因日常工作繁忙,她在家附近一家24小时无人健身房办理了季度卡,想利...
单煤气灶打不着火怎么办 出现这种状况可能是由多种原因造成的。漏气原因造成,如果煤气表或者是煤气罐出现漏气状况,那么单煤气灶打...
燃气灶被水搞灭了怎么办 如果燃气灶被水淋灭了,这时候千万不要慌乱,首先要采取正确的方法来处理。1.切断燃气如果你注意到燃气灶...
煤气灶打不着火的原因有哪几个方... 原因可能是煤气已经用完或是欠费了,可以更换新的煤气或利己续费;原因可能是电池没电了,可以更换新的电池...
空调有加雪种的说法吗 空调在使用过程中存在这一说法,这里说的雪种其实指的就是空调中的冷凝剂氟利昂。一般情况下用户需要每五年...
燃气灶用的时候火老灭为什么 1、可能是电池没电了或者接触不良,可以把电池扣下再重新装一次,保证电池各个接触面干净。2、然后再次打...
WHO称涉疫邮轮或出现有限“人... 澎湃新闻记者 南博一当地时间2026年5月5日,佛得角普拉亚,一艘救护船从右侧靠近邮轮“洪迪厄斯”号...
衡水二中老师因寻找学生在郑州街... 大皖新闻讯 日前,在河南郑州,一名男子自称是河北衡水二中的老师,为寻找学生遇到困难而乞讨,引发关注。...