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