切换分支 :git clone -b LTS1 ssh://xx@gerrit.net:29418/HE-/
-
git pull
:将本地的git版本库于服务器上做同步 -
git branch -av.pnggit branch -av
:查看本地工作区于本地git版本库对比,查看是否同步
behind 1
说明工作去比本地git版本库落后一个版本
ahead 2
说明工作去比本地git版本库多两个版本
-
rm -R Swiot/Swiot/第三方/
:删除本地工作区某个文件 -
git reset fdbee95c7e18479efef72caf5e372b388e262ffc
:reset到fdbee95c7e18479efef72caf5e372b388e262ffc
这个版本号的库 -
git reset HEAD --hard
reset 到log的最前面的一个版本 -
git checkout .
同上面那个命令的差不多,但是有区别 -
删掉冲突文件
git checkout -- Swiot/Swiot.xcworkspace/xcuserdata/zhaopengsong.xcuserdatad/UserInterfaceState.xcuserstate
-
git reset --hard commit_id
返回到指定git log
的commit_id
Git 切换账号登录
取消git全局设置
照着网上的教程,都会对git进行全局设置,例如:
git config --global user.name "your_name"
git config --global user.email "your_email"
如果你多参与的项目都允许你用同一个用户名和邮箱,这样设置当然没问题,但是,一旦你进入公司,估计是没有自主选择权利的,公司都会配置相应的域账号和邮箱,因此我们首先需要取消git的全局设置。
git config --global --unset user.name
git config --global --unset user.email
针对每个项目,单独设置用户名和邮箱,设置方法如下:
mkdir ~/test // git检出目录
cd ~/test
git init
git config user.name "your_name"
git config user.email "your_email"
说白了,也就是进入到你的git项目相对根目录下,然后执行git config来设置user.name和user.email。
遇到这个:https://github.com/ZPengs/xxxx.git/': The requested URL returned error: 403
:错误之后解决方法:
原因是没有输入指定用户名和密码:
打开终端,切换到git目录(我的是/home/steven/.git)
sudo gedit config
把url = https://github.com/ZPengs/xxxx.git改成url = https://用户名:密码@github.com/ZPengs/xxxx.git。
然后git push 就可以了。
Git的基本操作
初始化操作
$ git config -global user.name <name> #设置提交者名字
$ git config -global user.email <email> #设置提交者邮箱
$ git config -global core.editor <editor> #设置默认文本编辑器
$ git config -global merge.tool <tool> #设置解决合并冲突时差异分析工具
$ git config -list #检查已有的配置信息
创建新版本库
$ git clone <url> #克隆远程版本库
$ git init #初始化本地版本库
修改和提交
$ git add . #添加所有改动过的文件
$ git add <file> #添加指定的文件
$ git mv <old> <new> #文件重命名
$ git rm <file> #删除文件
$ git rm -cached <file> #停止跟踪文件但不删除
$ git commit -m <file> #提交指定文件
$ git commit -m “commit message” #提交所有更新过的文件
$ git commit -amend #修改最后一次提交
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)
查看提交历史
$ git log #查看提交历史
$ git log -p <file> #查看指定文件的提交历史
$ git blame <file> #以列表方式查看指定文件的提交历史
$ gitk #查看当前分支历史纪录
$ gitk <branch> #查看某分支历史纪录
$ gitk --all #查看所有分支历史纪录
$ git branch -v #每个分支最后的提交
$ git status #查看当前状态
$ git diff #查看变更内容
撤消操作
$ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容
$ git checkout HEAD <file1> <file2> #撤消指定的未提交文件的修改内容
$ git checkout HEAD. #撤消所有文件
$ git revert <commit> #撤消指定的提交
分支与标签
$ git branch #显示所有本地分支
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git branch <new-branch> #创建新分支
$ git branch -d <branch> #删除本地分支
$ git tag #列出所有本地标签
$ git tag <tagname> #基于最新提交创建标签
$ git tag -d <tagname> #删除标签
合并与衍合
$ git merge <branch> #合并指定分支到当前分支
$ git rebase <branch> #衍合指定分支到当前分支
远程操作
$ git remote -v #查看远程版本库信息
$ git remote show <remote> #查看指定远程版本库信息
$ git remote add <remote> <url> #添加远程版本库
$ git fetch <remote> #从远程库获取代码
$ git pull <remote> <branch> #下载代码及快速合并
$ git push <remote> <branch> #上传代码及快速合并
$ git push <remote> : <branch>/<tagname> #删除远程分支或标签
$ git push -tags #上传所有标签
```
**错误总结:**
The requested URL returned error: 403 :权限不够
切换分支:
Git一般有很多分支,我们clone到本地的时候一般都是master分支,那么如何切换到其他分支呢?主要命令如下:
1. 查看远程分支
$ git branch -a
我在mxnet根目录下运行以上命令:
~/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
可以看到,我们现在在master分支下
2. 查看本地分支
~/mxnet$ git branch
* master
3. 切换分支
$ 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'
#已经切换到v0.9rc1分支了
$ git branch
master
* v0.9rc1
#切换回master分支
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
网友评论