GIT的基本操作命令与使用流程

一、Git的基本介绍   

        git是目前世界上最先进的分布式版本控制系统。gitLinusTorvalds 为了帮助管理Linux 内核开发而开发的一个开放源码的版本控制软件。git拥有敏捷高效地处理任何或小或大的项目。所以现在绝大数开源项目都采用git管控,android源码也是通过git来管控的。因而了解一些git的基本知识是开发人员必备的技能。

二、Git的基本操作命令与设置

        

                                图.Git的操作原理图

(1) 用户账号的配置

    gitconfig --global user.name xxxx”                #这个是配置账户名

    gitconfig --global user.email “xxx@xxx.com”  #这个配置用户邮箱

    --global表示在当前用户下的全局配置

    配置这个主要是用于提交信息所用,以及代码拖拽以及提交的验证。

(2) 设置commit_temp

   根目录下新建一个.commit_temp文件,

   然后在隐藏文件中的.gitconfig中添加

   [commit]

    template = /home/XXX/. commit_temp

(3) git的别名设置

    别名的意思就是给一个指令重新取个名字,git别名其实就是将一些指令简化。

    例如

     git status .

    这个指令检查当前文件的状态。

    Status这个单词有时候我们写起来感觉有点烦,就想给他简化下,这时候我们就用到了别名。

别名的设置是这样子的:gitconfig --global alias.st status

然后你进行gitst .

    gitst . git status . 效果是一样的。在后面我们一般设置如下常用别名。

    (gitlg

    gitconfig --global alias.co checkout

    gitconfig --global alias.br branch

    gitconfig --global alias.ci commit

    所以说别名可以随你爱好来设置你的指令,当然你也可以不设置。

(3)如何查看git的配置信息

    可能有人疑惑,刚才设置的别名以及账户配置,到底在哪里看。这里介绍两种方式来查看配置文件。

    一是指令

    git config --list

    二是直接查看配置文件,在用户根目录,要能查看隐藏文件夹。在根目录打开.gitconfig文件。

1.   git status

    在提交之前,Git有一个暂存区(stagingarea),可以放入新添加的文件或者加入新的改动

    列出和暂存区上不一样的文件,包括修改的和添加的文件。

    如果只是想列举出当前文件夹下面修改的文件的话使用git status .

    在代码中做过修改后使用git status .

    修改的文件:指你在这些文件中做过修改 (在Changes not staged for commit 下面,前面有modifed: 红色表示)

    删除的文件:指你把原有的文件删除了(在Changes not staged for commit 下面,前面有deleted: 红色表示)

    添加的文件:指原来的代码是没有这些文件的,是你添加的Untracked files下面,红色表示)

2.  git diff

    此命令比较的是工作目录中当前文件和暂存区域快照之间的差异

    红色部分是删除部分,绿色的为添加部分

    我们需要在提交之前对每个文件进行gitdiff一下检查所有的修改是我们需要提交的修改吗。

3.  git checkout

     git checkout 2个作用,一个是切换分支一个是替换本地改动

     git checkout filename

     此命令会使用HEAD中的最新内容替换掉你的工作目录中的文件.已添加到暂存区的改动以及新文件都不会受到影响.

     注意:git checkout filename会删除该文件中所有没有暂存和提交的改动,这个操作是不可逆的.

    一般是在你不想要这个文件中的修改了可以使用这个命令来还原。

4. git clean –df或者rm -df

     git clean –df filename 或者rmdffilename

     此命令会是正对你自己添加的文件,在还没有添加到暂存区时使用这个命令可以删除文件,并不影响暂存区 

5. git add/rm

    此命令是添加需要修改的文件到暂存区 

    git add filename 是添加filename文件到暂存区。

    git add . 添加所有修改的文件和新添加的文件

    如果需要添加删除文件需要add后面添加参数选项-Agit add–A . 也可以使用gitrmfilename

    deleted: 表示你删除的文件

    new file: 表示添加的文件

    modifed: 表示你对这个文件进行了修改

6. git  reset HEAD /git reset --hard HEAD

    你git add.后,你发现有些文件你不需要提交的。那么此时就要回退add之前状态。

    此时,你可以使用下面指令git reset HEAD xxxxxx代表某个要回退的文件。HEAD代表git的最近一次提交。这个指令仅仅是将你要提交的文件拿出来,不进行提交,而你的修改却还在。如果你要彻底回退这个文件,把你的修改给回退,gitreset --hard HEAD 加个--hard就会把你修改给回退所有文件

7. git  commit

    执行git commit 后会弹出然后会出来一个提交模板(这个模板根据.commit_temp内容来的),写上相关信息。(也可以在.commit_temp中直接写好

模板的操作。如果你要输入/修改东西需要按,输入完后需要ctrl+c  然后 shift +q,然后输入wq回车

8. git reset --soft HEAD^

   当执行完git commit 后发现还要修改的时候可以执行这个命令来回退git commit 

9. repo upload .

    提交这次修改

10. git log

     我们知道查看记录通过git log.来查看,但是我们查看某个文件的记录,是这样查看的git log xxx

11. git show

    假如我要查看某一次具体修改,通过git show xxx(这个xxxcommit id

当然了,可能我不想查看具体修改,我就想知道本次修改的哪些文件

就在git showxxx  HEAD --stat

12. git barnch /git checkout

    git barnch是查看当前代码的分支,如果加上git barnch -a  那么会在原来显示当前分支的基础上在把这部分代码所有的分支显示出来

    git checkout (branchname)切换到一个分支.

    git checkout -b (branchname): 创建并切换到新的分支.

13. git stash –u

    假设我当前分支上有的修改,而现在我又要切换其他分支,做紧急的事。这时候有两种方法,一个是在本地提交。另外一个是保存现场。然后git stash -u 这个就把修改给保存起来,你就可以毫不担心的切换到其他分支上。等做完之后,切回来,如何恢复git stash list你可以查看保存的栈的情况,你可以将多个修改给保存起来,通过git stash list来查看,恢复用

    git stash apply stash@{0},如果你仅仅是恢复最上面的修改,可以简化gitstash pop

14. git pull --rebase

    更新代码---在更新的时候需要注意本地有修改并且和服务器修改的同一个地方的话会出现更新失败的情况

三、Git使用流程

    提交的基本步骤

    1. git pull –rebase最好在你修改的代码前更新一下代码

    2.将修改的代码copywind目录(提交目录)

    3. git status    查看修改的文件是否是对的。(最好对每个文件进行一下git diff一下查看文件内是否是你要提交的,也可以使用BeyondCompare 和一份你没有修改的代码进行对比推荐)

    4. git add 

        (如果再之前你没有git pull –rebase,那么再这边需要git pull –rebase一下,这样会提前通知你是否冲突)

    5. git commit 然后会出来一个提交模板,写上相关信息保存退出

    6. repo upload . 提交代码










   







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值