Git 新人上手常用命令总结

首先说明一下我这个文章绝大部分是参考廖雪峰老师的官方网站的Git教程。http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 
讲的生动风趣简单易懂有用。送上我的膝盖。

本文主要包含如下几部分:

  • Git 常用中英文术语

  • Git 管理流程

  • Git 本地版本管理

  • github 版本管理

  • 用批处理语言操作Git

1.Git 常用中英文术语

学程序必须要掌握好常用的英文术语。否则看API及文献就是悲剧。 
以下是我觉得常用的中英文术语对照,陆续补充吧:

英文术语中文术语说明
repository版本库
remote远程
fork叉子、分叉复制创建自己的分支
push推送


2016-11-17 15:11:45

2.Git 管理流程

首先要只知道,Git是目前世界上最先进的分布式版本控制系统(没有之一)。 
分布式版本控制

git的工作流程示意图 
本地版本库 
20161118134726157.png远程版本库

3.Git 本地版本管理

(1)Git本地管理常用的命令

::创建版本库,文件夹中多了一个 .git 文件
    git init            
:: 版本管理
    ::把所有文件添加到暂存区,可以用 .ignore 文件滤去不需要添加的文件
    git add .           
    ::把指定文件readme.md添加到暂存区 
    git add readme.md   
    ::将修改提交到版本库
    git commit -m"此处写提交注释" 
    ::撤销掉未保存的修改
    git checkout -- readme.md    ::撤销掉暂存区的修改(unstage)
    git reset -- HEAD readme.md    ::回退到上一个版本
    git reset --hard HEAD^ 
    ::回退到指定版本
    git reset --hard (版本号)    ::删除提交文件
    git rm readme.md::查看状态命令
    ::显示所有不同
    git diff            
    ::显示指定文件的修改
    git diff ****       
    ::查看当前状态
    git status          
    ::查看提交日志
    git log             
    ::查看所有命令日志
    git reflog  
1234567891011121314151617181920212223242526272829303112345678910111213141516171819202122232425262728293031

通过上面的这些命令,基本就满足了初级选手对本地版本管理的需求。不过有一个地方需要注意,就是git add . 
这个命令是添加所有文件到版本库,但是有些文件我们是不需要进行版本管理的,比如bin文件,Java的 class文件,只要有了源代码,我们就可以通过编译生成。我们当然可以利用 git add (指定文件) 这条命令 一个个文件添加,不过这就麻烦了。我们就可以通过 .gitignore 文件来过滤不需要添加的文件。

(2) .gitignore的使用方法

注意win7不能直接通过修改txt文件来创建 .gitignore文件,而是应该通过git bash。具体方法如下:

  1. 在需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。

  2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件。

  3. 然后用编辑器打开这个文件进行编辑就行了。

  4. 然后就写规则来操作要忽略的文件了。

  5. 开放模式负责设置过滤哪些文件和文件夹 
    过滤文件夹设置: 
    /bin/ 表示过滤这个文件夹 
    过滤文件设置 
    指定过滤某种类型的文件: 
    *.class 
    指定过滤某个文件: 
    /mtk/do.c 
    /mtk/if.h

4.github的使用

(1)申请一个github账号

和一般的网站注册差不多。

(2)创建一个远程库

直接点一下加号跟着提示操作就好了。创建完成后,会提示如何将本地的版本库推送到远程库。

Quick setup — if you’ve done this kind of thing before 
Set up in Desktop or 
HTTPS SSH 
https://github.com/sunpro/123.git
 
We recommend every repository include a README, LICENSE, and .gitignore. 
…or create a new repository on the command line
echo "# 123" >> README.mdgit init
git add README.mdgit commit -m "first commit"git remote add origin https://github.com/sunpro/123.git
git push -u origin master123456123456
git remote add origin https://github.com/sunpro/123.git
git push -u origin master1212
…or import code from another repository 
You can initialize this repository with code from a Subversion, Mercurial, or TFS project.

(3)操作远程库常用命令

::远程库命令
    ::查看当前远程库
    git remote 
    ::添加远程库
    git remote add origin https://github.com/sunpro/123.git    ::删除远程库
    git remote rm origin    ::将本地版本库推送到指定远程库
    git push -u origin master    ::将远程版本库克隆岛本地当前文件夹下一个同名文件夹内
    git clone https://github.com/sunpro/123.git    ::将远程版本库克隆岛本地指定文件夹内
    git clone https://github.com/sunpro/123.git 4561234567891011121312345678910111213

注意当我们添加了一个远程库后,如果想换个远程库来添加,可以给远程库起个新名字,也可以把origin库移除后重新添加。

5.批处理Git命令

如果懒得记那么多命令,可以使用批处理(这个理由,姑且吧)。 
要想批处理Git命令,首先要将git命令添加到path环境变量。

(1)设置环境变量

首先找到Git的安装文件夹,其中有一个cmd 文件夹 
20161117180959377.jpg 
将该文件的地址添加到环境变量,具体是 
右击“我的电脑”–> 属性 –> (左侧栏)高级系统设置 –> 高级页面中的“环境变量”–> 在系统变量中双击Path –>在变量值后面将cmd文件的地址加进去。注意该地址前面必须有分号“;”,如果没有需要将分号添加上后再将地址加上。如图是我的效果,注意地址要根据自己的情况来设。 
20161117181729616.png

(2)重启电脑

(3)创建.bat 文件

git init
git add .
git status
git commit -m"commited by me"git status
pause123456123456

可注意该文件命名,不能命名为“git.bat”,这样会重复执行。。。。 
尽量避免与环境变量中的命令冲突,你可以命名为“git123.bat”。

(4)执行批处理文件

你在写了一些代码文件后,将上面的批处理文件复制到你的文件夹内,直接双击执行,效果如下: 
20161117182525352.jpg


(5)一个新的bat文件

后来学习了一下shell语言,重新写了一个bat文件。代码如下:

comm=$1rep=$2#创建本地版本库并提交修改到本地版本库,之后提交if [ -d ./.git ]then 
    echo "git is exsisted!"else
    git init    echo git initfigit add .
git commit -m "$comm"#根据第二个参数是否为空,决定是否提交到远程版本库#若第二个参数不为空,则提交到以第二个参数命名的远程版本库,并返回提交结果!if test $repthen
    #提交至远程版本库
    REMOTE=`git remote`    #echo $REMOTE
    if test $REMOTE
    then 
        #echo remote add
        if [ $REMOTE=$ORIGIN ]        then
            git remote rm origin        fi
    fi
    #change the "sunpro" to your repository name
    git remote add origin https://github.com/sunpro/$rep.git
    git push -u origin master    if [ $? -eq 0 ]    then 
        echo push succeed!    else 
        echo push failed!    fifi1234567891011121314151617181920212223242526272829303132333435363712345678910111213141516171819202122232425262728293031323334353637

只要把该代码远程库地址的用户名改成你自己的github的用户名,保存在你要创建版本库的文件夹下,保存为“gm”(或者你喜欢的任意非命令名字)。这样,打开bash,输入

sh gm.bat "commit message" "your repository name"11

回车,就可以自动创建本地版本库,并提交所有文件,commit的信息为“commit message”(此处你可以根据自己的需求修改),并提交到你指定的版本库。实际效果如下: 
20161204232016010.jpg


相关文章