Git 常用命令 - 不断更新中

2019-03-07 23:12|来源: 网络

一、git clone

git clone 支持本地和远程repository,其格式如下:

本地克隆:

  • git clone /path/to/repo.git/
  • git clone file:///path/to/repo.git/

如: 1). git clone git@github.scm.corp.ebay.com:swang6/test.git 

        2). git clone git@github.scm.corp.ebay.com:swang6/test.git test_rename  : 重命名为test_rename  

 

如果是远程repository:

  • git ssh://[user@]host.xz[:port]/path/to/repo.git/
  • git git://host.xz[:port]/path/to/repo.git/
  • git http[s]://host.xz[:port]/path/to/repo.git/
  • git ftp[s]://host.xz[:port]/path/to/repo.git/
  • git rsync://host.xz/path/to/repo.git/

Git clone的参数很多,但是常用的就只有几个:

1. 最简单直接的命令

        git clone xxx.igt

 

2. 如果想clone到指定目录

       git clone xxx.git "指定目录"   

 

3. clone时创建新的分支替代默认Origin HEAD(master)

     git clone -b [new_branch_name]  xxx.git

 

4. clone 远程分支

  git clone 命令默认的只会建立master分支,如果你想clone指定的某一远程分支(如:dev)的话,需要使用checkout命令。

       可以如下:

 

  1). 查看所有分支(包括隐藏的)  git branch -a 显示所有分支,如:

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

    2).  在本地新建同名的("wsheng_dev")分支,并切换到该分支

git checkout -t origin/dev 该命令等同于:
git checkout -b wsheng_dev origin/dev

如果你是用的命令是git checkout origin/dev:可以快速切换到这个分支。但是不会在本地建立这个分支。

如果现在想查看本地自己的分支:git branch

 

二、git add:

        git add命令主要用于把我们要提交的文件的信息添加到索引库中。当我们使用git commit时,git将依据索引库中的内容来进行文件的提交。

         1. git add <path>, 如git add .

             我通常是通过git add <path>的形式把我们<path>添加到索引库中,<path>可以是文件也可以是目录。git不仅能判断出<path>中修改(不包括已删除)的文件,还能判断出新添的文件,并把它们的信息添加到索引库中。

         2. gti add -u

         git add -u [<path>]: 把<path>中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。省略<path>表示.,即当前目录。

        3. git add -A

       git add -A: [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。

省略<path>表示.,即当前目录

        4. git add -i

       git add -i

           staged     unstaged path
  1:        +0/-0      nothing branch/t.txt
  2:        +0/-0      nothing branch/t2.txt
  3:    unchanged        +1/-0 readme.txt

*** Commands ***
  1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
  5: [p]atch      6: [d]iff       7: [q]uit       8: [h]elp

What now>
这里的t.txtt2.txt表示已经被执行了git add,待提交。即已经添加到索引库中。
readme.txt表示已经处于tracked下,它被修改了,但是还没有被执行了git add。即还没添加到索引库中。
         4.1、revert子命令
可以通过git add -irevert子命令(3: [r]evert把已经添加到索引库中的文件从索引库中剔除。
3: [r]evert)表示通过3rrevert加回车执行该命令。执行该命令后,git会例出索引库中的文件列表.
然后通过数字来选择。输入"1"表示git会例出索引库中的文件列表中的第1个文件。
"1-15"表示git会例出索引库中的文件列表中的第1个文件到第15个文件.回车将执行。
如果我们不输入任何东西,直接回车,将结束revert子命令,返回git add -i的主命令行。

        4.2、update子命令
可以通过update子命令2: [u]pdate)把已经tracked的文件添加到索引库中。其操作和revert子命令类似。
        4.3、add untracked子命令
通过add untracked子命令(
4: [a]dd untracked)可以把还没被git管理的文件添加到索引库中。其操作和revert子命令类似。
        4.4、diff子命令
可以通过diff子命令(6: [d]iff)可以比较索引库中文件和原版本的差异。其操作和revert子命令类似。
        4.5、status子命令
status子命令(1: [s]tatus)功能上和git add -i相似
        4.6、quit子命令
quit子命令(7: [q]uit)用于退出git add -i命令系统

       5.  help

我们可以通过git add -h命令来看git add命令的帮助文档。

 

三、git remote

怎样修改 origin的URL

      git remote -v

      git remote rm origin

      git remote add origin [new urls]

 

四、git stash

      在git pull时如果失败,并提示需要commit本地的changes,那么除了执行git add -A, git commit操作之外还可以用git stash 将本地的changes相当于先"隐藏"起来。

      然后再用git pull 做merge,另外可以使用git stash list查看当前stash的list:对于每一个stash都有其对应的一个index。

       最后使用git stash apply stash@{index} 如git stash apply stash@{0}进行恢复,当然在没有进行多次stash的时候,直接用git stash apply进行恢复。每次新加的stash都是在stash@{0}的位置。stash在使用git stash apply@{0}恢复后,还是会存在于git stash list中的。可以用$git stash clear清除所有暂存。

 

 

其余的会陆续的更新。

 


转自:http://josh-persistence.iteye.com/blog/1885403

相关问答

更多
  • 比如: svn co 是checkout命令 svn up 是update更新命令 svn ci -m '' 是commit提交命令 svn export 是export导出命令
  • http://linux.chinaitlab.com/special/linuxcom/ 你也可以去搜索一下一些文档!
  • 建议你买本书对照着学,或者在日常生活中使用linux慢慢学习使用 我常用的命令: pwd 打印当前工作目录 cd 切换目录 ssh 用于连接用 vi 编辑用 cat 打印 | 管道符 sudo 提升权限 chmod 更改权限 apt-get 、yum 、pacman 软件包管理器 rpm、dpkg 、tar -zxvf 等用于安装或编译软件 su 切换用户 shutdown -h now 关机 其实有很多,关键在日常使用中边用边学 祝你早日熟悉linux命令!
  • 随便写写吧,呵呵 linux常用命令(基础) 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。 2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x ...
  • ls 查看目录或者文件的属*;whereis;查看所用用户的使用资料 finger root /创建netseek这个目录 19,相当与DOS下的cls;/将这个解压到nmap-3:/。 8: mkdir netseek /. cd 改变当前目录 pwd 查看当前所在目录完整路径 eg, g 表示文件文件所在组,whereis;usr/.45;把filename1拷贝成filename2 cp 1.c文件里:查询该命令所在目录(类似whereis) /.tgz /.45这个目录里 20;可以显 ...
  • LINUX常用命令[2022-10-18]

    ftp 传输文件 telnet 登录到远程计算机上 r - 使用各种远程命令 netstat 查看网络的状况 nslookup 查询域名和IP地址的对应 finger 查询某个使用者的信息 ping 查询某个机器是否在工作 使用ftp命令进行远程文件传输 ls 列出远程机的当前目录 cd 在远程机上改变工作目录 lcd 在本地机上改变工作目录 ascii 设置文件传输方式为ASCII模式 binary 设置文件传输方式为二进制模式 close终止当前的ftp会话 hash 每次传输完数据缓冲区中的数据后就显 ...
  • linux常用命令(基础) 1. man 对你熟悉或不熟悉的命令提供帮助解释 eg:man ls 就可以查看ls相关的用法 注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。 2. ls 查看目录或者文件的属*,列举出任一目录下面的文件 eg: ls /usr/man ls -l a.d表示目录(directory),如果是一个”-”表示是文件,如果是l则表示是一个连接文件(link) b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。 3. cp ...
  • git clone git push git pull 这三个使用率最高
  • 一、路径问题 1、vi /etc/profile 最后一行添加 PATH=$PATH:/sbin 2、:wq 保存退出 3、source /etc/profile 二、mount 挂载出了问题 mount -o remount,rw/ 在试试看能不能使用这些命令
  • www.buyuanwanli.cn/bbs 搜Linux会找到的 常用的也就几十条命令而已 不过后面的参数很难理解