一、git clone
git clone 支持本地和远程repository的克隆,其格式如下:
本地克隆:
- git clone /path/to/repo.git/
- git clone file:///path/to/repo.git/
如: 1). git clone [email protected]:swang6/test.git
2). git clone [email protected]: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.git
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 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>表示.,即当前目录
三、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清除所有暂存。
如果只想删除某个stash,可以使用git stash drop stash@{inde}删除,如git stash drop stash@{0}
五、版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
六、Git 忽略ssl
可在git命令行执行: git config --global http.sslVerify false