Git的常用命令
首先在命令行里面输入git,会出现下面的提示表示git安装成功了
首先在E盘下的MyGit文件夹下面新建一个test,然后cd到这个test文件夹下面。
git init
当前的test文件夹下面不是一个Git仓库,调用这个命令来初始化为git仓库。
git status
这个命令是用来查看状态的,没事可以调用试试查看当前的状态。
git add
现在在test文件夹下面创建一个xx.txt文件,先调用git status命令看看它当前的状态
可以看到这个xx.txt文件提示还没有提交到仓库中没有被追踪,使用add命令提交,现在调用git add xx.txt再调用git status看状态
这是表示这个xx.txt等待被提交,也可以使用git rm命令移除这个缓存。
git add . 可以add改路径下的所有文件
git commit
接着继续提交,输入git commit -m “test commit”,-m后面跟的是这次提交的说明信息,这时再输入git status命令可以看到已经没有需要提交的信息了。其实之前的add命令是把提交到一个缓冲区,调用commit才是真正的提交。
git log
可以看我们commit的记录。
在commit后面跟了一串字符,这个是代表这次提交的ID,还有一些提交日期和提交人的信息,当然如果不需要这些信息,可以在命令后面加上“–pretty=online”
git reset
版本回退,现在我们回退到第一次操作时,利用git log找到第一次提交的ID,执行下面操作
再次执行git log操作可以看到只有一条commit记录了,再打开xx.txt看也回到了最初的状态。
那么现在还能不能回到回退之前的版本呢,当然是可以的,还是调用相同的指令,传入不同的ID就可以了。如果这时你找不到之前的id,可以调用git reflog指令来查看。
git reflog
HEAD前面就是ID,用这个ID再次回到之前的版本就可以了。
现在修改一下xx.txt里面的内容,调用git status看看
可以看到这个文件是被修改但是没有提交,使用add和commit进行提交,也可以是使用git checkout来舍弃这次修改。
git checkout – < file >
刚才看到了修改后提示可以调用这个命令去舍弃修改,现在试试看,先修改一哈xx.txt文件,再调用。
这时再去看看xx.txt文件,你会发现它的修改被撤销了,回到了没有修改前的状态。
git rm < file >
这个命令用来删除文件
git rm -r –cached 某个目录
删除某个目录下的add后的缓存,并不会删除物理文件
git rm -r –f “文件路径”
直接删除某个目录下的物理文件
git branch
branch也就是分支,在团队合作的时候很重要,我们在执行了git init指令后,仓库会自动生成一个主分支master,之前的操作我们都是在master分支上面执行的,应该尽量不要直接在主分支上面进行操作,又比如两个人操作同一个项目的不同模块,显然这样是不可能都去操作主分支的,不然会产生影响。所以这时就需要两个人各自建立一个分支,分别在各自的分支上面操作,当完成测试后再进行合并到主分支上面。
这个命令是查看当前分支的状况。
那么如何去新建一个分支呢,直接在git branch 后面加上新建分支的名字就好了,如下所示:
这里新增了一条叫x的分支,然后再次调用git branch可以看到已经多出一条x的分支。可以看到master分支前面有个*号,并且是绿色的,这代表是当前操作所在的分支。
git checkout
切换分支,默认都是在master分支下面的,新建分支后我们还需要切换到这个分支下面,如下所示可以看到已经切换到x分支下面了
git checkout -b
新建一个分支,并且切换到这个分支,一步到处,如下所示
git merge
当分工合作的两个同学完成并测试后,就需要把各自的模块同步到主分支master上面来,git merge 就是合并分支用到的命令,针对这个情况,需要先做两步,第一步是切换到 master 分支,如果你已经在了就不用切换了,第二步执行 git merge a ,意思就是把a分支的代码合并过来,不出意外,这个时候a分支的代码就顺利合并到 master 分支来了。
git branch -d
删除分支,当这个分支错误或者已经合并到主分支不需要了,那么调用这个指令去删除。
git branch -D
有些时候可能会删除失败,比如如果a分支的代码还没有合并到master,你执行 git branch -d a 是删除不了的,它会智能的提示你a分支还有未合并的代码,但是如果你非要删除,那就执行 git branch -D a 就可以强制删除a分支。