git使用
查看状态
git status
-
该命令可以查出当前分支文件变更状态
-
可以查出 工作区/暂存区/仓储区 中的状态
-
显示出, 新增/删除/(路径)重命名/已暂存 等文件状态.
git diff
查看具体的修改内容
从远程厂库更新到本地
方法1
$ git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master
$ git log -p master.. origin/master//比较本地的仓库和远程参考的区别
$ git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并
方法2
$ git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp//比较master分支和temp分支的不同
$ git merge temp//合并temp分支到master分支
$ git branch -d temp//删除temp
方法3
git pull origin master
上述命令其实相当于git fetch 和 git merge从远程获取最新版本并merge到本地,git pull <远程主机名> <远程分支名>:<本地分支名>
方法4 放弃本地修改强制更新
git fetch --all
git reset --hard origin/master
提交项目
git add filename //将文件添加至暂存区
或
git add . //将所有文件添加至暂存区
git commit -m 'XXXX' //将文件提交到本地仓库
git push origin master //将文件提交到远端仓库,git push <远程主机名> <本地分支名>:<远程分支名>
版本
列出tag
git tag
加上-l过滤
git tag -l "v3.3.*"
新建tag
git tag v1.0//创建一个名为v1.0的tag
新建有备注信息的tag
git tag -a tagName -m "my tag" //-a参数来创建一个带备注的tag,备注信息由-m指定
查看tag详细信息
git show tagName
给指定的某个commit号加tag
git tag -a v1.2 9fceb02 -m "my tag"
将tag同步到远程服务器
git push origin v1.0//git push origin [tagName]推送单个分支,推送本地所有tag,使用git push origin --tags。
提交项目到已存在远程分支
git add . //将所有文件添加至暂存区
git commit -m 'XXXX' //将文件提交到本地仓库
git branch xf //新建本地分支:git branch
git branch -a //查看该项目的所有本地和远程分支,git branch 查看本地分支,git branch -r 查看远程分支
git checkout xf//切换本地分支
git pull origin xf:xf//把远程分支的代码pull到本地分支,git pull <远程主机名> <远程分支名>:<本地分支名>
git push origin xf:xf//将本地的xf分支推送到origin主机的xf分支。git push <远程主机名> <本地分支名>:<远程分支名>
git push origin test//如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建,将本地的test分支推送到origin主机的test分支。如果后者不存在,则会被新建。
克隆项目
-
git clone
-
克隆指定版本:git clone -b v1.22.0 https://github.com/grpc/grpc.git
回退
//表示回退到当前版本,HEAD指向当前版本。如果你修改了一些代码,想去除,就可以用git reset --hard HEAD一次性去除。
git reset --hard HEAD
//也可以回退到指定的版本
git checkout commit id
分支
查看远程分支
~/mxnet$ git branch -a
- master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/nnvm
remotes/origin/piiswrong-patch-1
remotes/origin/v0.9rc1
查看本地分支
~/mxnet$ git branch - master
切换分支
$ git checkout -b v0.9rc1 origin/v0.9rc1
Branch v0.9rc1 set up to track remote branch v0.9rc1 from origin.
Switched to a new branch 'v0.9rc1'
这个时候再查看本地分支就多了一个
$ git branch
master - v0.9rc1
切换回master分支
git checkout master
删除本地分支
git branch -d 分支名
删除远程分支
git push origin --delete 分支名
清空远程仓库
#递归删除文件夹下所有文件
git rm xxx(xxx表文件名) -r ( -r 当给出主目录名时允许递归删除)
#删除单个文件
git rm readme.md
删除之后,本地目录下已经删除的文件夹就不再存在了,为了能将远程仓库的相应文件也删除掉,我们要把这次操作提交到上去
git commit -m "remove all file"
git push origin master
