Git 基本常用操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j086924/article/details/82856345

一. Git基本的工作流程简介如下:

  1. 在工作目录中修改某些文件;
  2. 对修改后的文件进行快照,然后保存到暂存区域;
  3. 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中.

二.git常用命令操作

1. git  clone

 git clone 代码库的url

  eg: git clone ssh://xxx@ip:29422/project

           git clone -b test ssh://[email protected]:29422/test.git 

          克隆到本地的库,默认的代码库的当前分支(活动分支)名称是master,如果下载的时候,加上-b 分支名称,下载下来的代码库的当前分支(活动分支)就是指定的分支名称: git clone –b branch1 ssh://[email protected]:29422/test.git  克隆到本地的库,默认的代码线是branch1 ,git clone 其他用法可以使用 git clone - -help查看.

2.git  status

 可以使用git status查看版本库中文件提交的状态,没提交的信息会有显示.

3.git  add   //将工作区的修改提交到暂存区

    1).  git add filename

扫描二维码关注公众号,回复: 3368257 查看本文章

    2). git add directoryname

    3). git add .  //其中.表示当前目录下新添加的文件或目录,修改的文件或目录

4.git commit   //将暂存区的文件或目录提交到版本库区

git commit 与 git commit –m “message”相同,只是后者直接以-m参数将提交日志写入

5.git commit - -amend

    1). 修正提交单中错误的用户名及邮箱

  eg:git commit - -amend --author=’jon [email protected]

    2). 代码走查不通过的时候,在本地使用这个命令可以不产生新的代码走查单

     在本地修改完走查不通过的文件,需要执行git commit的时候,不要使用git commit –m,而是使用git commit --amend命令(前提本地代码库中的.git/hooks/commit-msg 钩子脚本是存在的,如果钩子脚本不存在,要到gerrit web页面的走查单中将changed-id xxxx贴到git commit --amend弹出的编辑框中)

6.git  rm //删除文件或目录

     1). git rm  文件名称

     2). git rm –r 目录名称

     3) .将不需要的文件及目录从工作区及暂存区中删掉

         a.  如果需要删除git库中已经受控的文件或目录请使用此命令,不要使用操作系统下的删除命令.受控-表示文件及目录状态为跟踪状态

         b.  如果要删除第一次放到工作区的文件或目录,直接使用操作系统下的删除命令,也可以使用 git clean –df 移除不受控的文件或目录

         c.   git rm test.txt 将test.txt从工作区及暂存区删除,如果需要提交,下一步直接执行git commit –m “message”即可

7.git  mv

  git mv oldname newname  //将文件或者目录重命名

8.git  diff  //对比本地库中工作区与暂存区的差异

      1). git  diff  --cached //对比本地库中暂存区与库区的差异

      2). git  diff head  //对比本地库中工作区与库区的差异

9.git  checkout

      1). git checkout -- filename 或者git checkout -- directory

      在本地git库的工作区修改或删除已受控的文件,后悔了,想要会退到之前的状态(工作区的文件回到修改之前的状态,暂存区,库区不受影响)  

      2).git checkout branchname  //切换到某个分支

      3). git checkout –b branch1 commit-ID  //以某个提交修订版本为基准建立新分支,并切换到新分支

10.git  reset  head //一般是在执行git add的之后,想取消add的动作(工作区不受影响,库区不变,暂存区回到add之前的状态)用

     1).git  reset  head  文件名称

     2).git  reset  head 目录名称

11.git  pull  //更新本地库

     1).git pull --rebase  //在本地库的A分支下执行该命令,表示将远程库中对应的A分支内容更新到本地A分支,加入参数 --rebase 可以避免在更新过程中本地库中产生合并节点

     2).git pull origin branchname  //将远程仓库的分支内容更新到本地库的当前分支上

12.git  push  //将提交到本地库中的内容推送到远程库中

   1).git push origin HEAD:refs/for/branchname  //推送到gerrit页面走查

     2).git push origin branchname //直接推送到远程git库中

13.git log //输出信息显示

     1).git  log -p //用于查看每一次提交条目的补丁内容,这在代码复查时很管用,--表示本次提交版本之前文件的修改状态

     2).git  log --stat  //显示被修改文件的修改统计信息,添加或删除了多少行

     3). git log --pretty=format

    可以将提交历史显示成你想要的格式,这里format的可选项包括:oneline,short,medium,full,fuller,email,raw

14.git log 可以指定代码提交者或者邮箱进行提交者代码日志查询

 eg:git log --author ="jon"

             git log --author="[email protected]"

15.git  branch

     1).git branch //在本地库执行git branch 可以查看本地库的分支,并且可以查看本地库当前分支(通常用*标记)

     2).git branch –r  //在本地库中查看远程库的分支

     3).git branch  branname  commit-ID //以某个修订版本建立新分支,commit-ID为40位的哈希值

     4).git branch –d branchname //删除分支,在删除时会检查要删除的分支是否已经合并到其他分支,否则拒绝删除

     5).git branch –D branchname // 强制删除分支

     6).git branch –m branch1 branch2 //分支重命名,如果库中有同名的分支,则拒绝重命名

     7).git branch –M branch1 branch2 //强制重命名,不论库中是否有同名的分支

 

 

猜你喜欢

转载自blog.csdn.net/j086924/article/details/82856345