git 常用命令—轻松掌握

2018-12-04  本文已影响0人  夜空中乄最亮的星

作为一个开放人员,git版本管理工具必须掌握。学会git并不难,只要按命令多练习几遍即可~

如何安装git就不说啦~本文只讲解一下git的常用操作命令

创建版本库

git init 命令可以把这个目录变成Git可以管理的仓库

$ git init
Initialized empty Git repository in F:/workspace/php/.git/

瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

添加到版本库

git add 该命令告诉Git,把文件添加到仓库(添加到暂存区)

$ git add readme.txt
warning: LF will be replaced by CRLF in readme.txt.   // 这是因为windows和linux下换行方式不同的警告,无妨~
The file will have its original line endings in your working directory

git commit 该命令告诉Git,把文件提交到仓库(把暂存区的所有内容提交到当前分支)

$ git commit -m "v1.0"
[master (root-commit) c38e4e5] v1.0
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。
git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)

为什么Git添加文件需要add,commit一共两步呢?

因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

版本回退

git log 命令显示提交过的的历史日志

$ git log
commit c38e4e5fa90a31ce9ce5c610886e198dd5f8a134 (HEAD -> master) //版本号
Author: xxx <xxx@qq.com>  //提交者,作者
Date:   Tue Dec 4 10:26:25 2018 +0800 //提交时间

    v1.0  //说明

git reflog 用来记录你的每一次命令操作。
git reset 版本重置(回退)

参数:
--hard HEAD^(上一个版本)
--hard HEAD^ ^(上上一个版本),当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
--hard commit_id :回退到指定的版本号,这里xxxx 不用全部写出来 写出前几位即可

总结:


git status 查看提交状态
git diff HEAD -- file命令可以查看工作区和版本库里面最新版本的区别
git checkout -- file 意思就是,把file文件在工作区的修改全部撤销
git rm file 从版本库中删除该文件


git remote add origin path 关联一个远程库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改


使用分支

git branch <name> 创建分支
git checkout -b <name> 创建+切换分支
git branch 查看分支
git checkout <name> 切换分支:
git merge <name> 合并某分支到当前分支:
git branch -d <name> 删除分支


出现合并冲突的情况

在分支中修改文件并commit,在另一个分支同样修改了该文件并comit后进行git merge 会出现冲突问题:

$ git merge feature1
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.

Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。
git log --graph命令可以看到分支合并图。

上一篇下一篇

猜你喜欢

热点阅读