查看当前git版本信息
git --version
安装git
centos:
sudo yum install -y git //-y选项表示不再询问,直接安装
ubantu:
sudo apt-get install git -y
创建本地仓库
注意:不允许在.git下手动修改
mkdir gitcode //在gitcode目录下创建一仓库
git init //初始化空的Git仓库于 /home/nan/gitcode/.git/,会生成一个隐藏目录.git
完善和查看当前本地仓库的配置项
首次提交git,需要完善邮箱和姓名:(若添加–global选项表示全局的)
查看本地仓库配置选项
git config -l //有user.name 和 user.email等
重置某个配置项的命令:若要重置全局的,则加上–global选项
git config --unset user.name
git config --unset user.email
git原理
我们在gitcode目录下创建一个ReadMe文件,目前情况下,git能否管理ReadMe文件?答案是不能
.git是版本库(仓库),ReadMe处于工作区。版本库中还有stage/index(暂存区/索引),还有master(Head指针指向master),还有objects,修改的工作区内容会写入对象库的一个新的git对象中。使用add和commit之后,才算把工作区的内容添加到版本库。
提交内容后(这里先做原理上的演示,提交操作后面有介绍),版本库.git有以下这些新增信息:
master里面存的是最新一次提交的commit-id(git对象的索引):
git cat-file -p commit-id/objects中的对象
将远端仓库克隆到本地
第一步:登录Gitee,获取你的仓库地址;
第二步:克隆远端仓库到本地,在命令行输入——>
git clone [你的仓库地址]
第三步:如果是私有项目,输入用户名密码,仓库就克隆到本地了。
什么是仓库?
ll -al之后,.git就是仓库,仓库的本质其实就是一个文件夹,我们在命令行输入tree .git,会出现一大串东西,其中objects记录了用户修改版本号,tags就是标签等等。
仓库里的.gitignore文件是什么?
.gitignore文件是在git提交的时候用来屏蔽某些你不想提交上去的文件。
三板斧第一招:git add
git add [文件名]
将需要用git管理的文件告知git(将要工作区修改的文件保存到git版本库的暂存区)
三板斧第二招:git commit
提交改动到真正意义上的本地仓库,即.git版本库(master)
git commit -m '日志'
提交的时候,应该注明提交日志,描述改动的详细内容(注意不要乱写!!!)
三板斧第三招:git push
将本地仓库同步到远端服务器上
git push
需要输入用户名密码,同步成功后,刷新gitee或github页面就能看到代码改动了。push到远端仓库本质上就是将.git仓库里的内容同步到Gitee上去。
对仓库文件进行更改
git mv test.txt test.c //对文件进行重命名
git rm -f test.c //删除指定文件
因为这里的mv和rm只是删除本地文件,远端仓库还未更改,所以还需要重新提交到远端仓库。
查看使用提交日志
可以查看你的所有操作痕迹。
git log --pretty=online 或者 git log --graph --abbrev-commit
查看本地与远端的同步状态
git status
这个表示修改的文件还没有add,存到暂存区
这个表示已经add,待commit:
表示已经提交完毕,工作区没有什么修改的文件需要提交了
查看修改的内容
git diff 要查看的文件名
版本回退功能
commit-id可通过git log查看
git reset [--soft | --mixed | -hard] [commit-id]
如果回退了,又后悔了,我们依然可以先查看git log,然后使用git reset命令进行恢复。但是如果我们清屏或者退出了当前会话,我们再次查看git log就无法找到之前版本的commit-id了,这时可以使用git reflog
(记录了本地每次的提交命令),查看commit-id。
HEAD表示当前版本,HEAD^表示上一个版本。
如果只是要回退工作区的内容(即还未add,commit),可以使用git checkout --filename
从远端仓库拉取最新版本文件
若我们直接在远端仓库进行改动,比如直接在gitee或github上进行修改文件,在本地直接提交会出现冲突,所以我们需要先将远端仓库最新版本拉取到本地,用如下命令:
git pull
删除已安装的git
centos:
sudo yum remove git -y
ubantu:
sudo apt-get remove git -y
分支
查看本地分支:
git branch //*在哪里,表示当前就处于哪个分支
创建本地分支:
git branch dev(分支名)
切换分支:(也可以直接用一句代码完成创建和切换git branch -b dev
)
git checkout dev(分支名)
下面的图是我们在dev分支,做了一次文件内容上的修改,并add,commit。此时我们在dev分支是可以看到内容的变化的,但是此时如果我们切换到master分支,是查看不到变化的。
合并分支:(合并分支后,才能在主分支master查看到dev分支所修改的内容)
合并冲突:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法替我们决定使用哪一个,必需人为决定新代码内容,所以如果merge产生冲突,需要手动解决,并重新进行一次提交。
git merge dev(分支名)
git merge --no-ff -m "merge master" master(分支名)
删除分支(我们必须在其它的分支,删除我们想删除的分支。比如如果我们要删除dev分支,我们现在必须处于master分支)文章来源:https://www.toymoban.com/news/detail-842044.html
git branch -d dev
删除dev分支后,master指向的提交是不变的,因为在此前已经合并分支了。
文章来源地址https://www.toymoban.com/news/detail-842044.html
到了这里,关于【Linux】git命令(全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!