常用的git命令

2020-04-30  本文已影响0人  _karen

简单介绍

Git是目前世界上最先进的分布式版本控制系统。
工作原理 / 流程:
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库


image.png

基础提交命令

将修改的东西全部提交到暂存区   git add .

把文件提交到仓库 git commit -m “提交版本的备注”

或者一起使用两个命令 git add . && git commit -m 'test'

查看状态和修改

git status

注意:所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

git diff exec-temp.py

(前提是路径正确,在当前文件的路径下,pwd可查看当前路径,如果不在当前路径下,文件前面需要加上文件的相对或者绝对路径)

常用的分支命令

查看分支:git branch
创建分支:git branch branchname
切换分支:git checkout branchname
创建+切换分支:git checkout –b branchname
合并某分支到当前分支:git merge branchname
删除分支:git branch –d branchname
强制删除:git branch -D branchname
强制更新:
git fetch --all  
git reset --hard origin/master 
git pull

版本回退命令

查看提交历史记录:git log (显示从最近到最远的显示日志)

如果嫌显示的信息太多的话,我们可以使用命令 git log –pretty=oneline

回退到上一个版本:
git reset --hard HEAD^ 或者 版本号回退 git reset --hard 版本号
回退到倒数第二个版本:
git reset --hard HEAD^^  或者 版本号回退 git reset --hard 版本号
回退到倒数第100个版本:
git reset --hard HEAD~100  或者 版本号回退git reset --hard 版本号

git log 可以查看已提交的版本号,git reflog可以查看已经回滚的未在git log展示的版本号

git撤销修改

丢弃工作区的修改:git checkout -- readme.txt

命令 git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:
readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态
注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了

git删除文件

一般情况下,可以直接在文件目录中把文件删了,或者使用如上rm命令:rm b.txt ,如果我想彻底从版本库中删掉了此文件的话,可以再执行commit命令 提交掉

远程仓库

把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

git push origin master

创建与合并分支

git checkout命令加上 –b参数表示创建并切换

git checkout -b dev
相当于
git branch dev
git checkout dev
git branch

现在我们可以把dev分支上的内容合并到分支master上了,可以在master分支上,使用如下命令

 git merge dev

解决冲突

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>fenzhi1 是指fenzhi1上修改的内容,我们可以修改下如下后保存

将当前的工作区隐藏起来  git stash
查看隐藏列表 git stash list

工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,可以使用如下2个方法:

git stash apply

恢复后,stash内容并不删除,需要使用命令git stash drop来删除。

git stash pop

恢复的同时把stash内容也删除了

远程命令

当你从远程库克隆时候,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且远程库的默认名称是origin。

查看远程库的信息 使用 git remote
要查看远程库的详细信息 使用 git remote –v
一:推送分支: git push origin master
二:抓取分支:
远程最新提交的和我试图推送的有冲突,先用git pull把最新的提交从origin/master抓下来,然后在本地合并,解决冲突,再推送。

总之,可以试图用git push origin branch-name推送自己的修改.
如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

这个文章写的很详细和有条理,可以查看
https://blog.csdn.net/yy493004893/article/details/78739532

上一篇下一篇

猜你喜欢

热点阅读