git 使用总结

切换分支 :git clone -b LTS1 ssh://[email protected]:29418/HE-/

  • git pull :将本地的git版本库于服务器上做同步

  • git branch -av :查看本地工作区于本地git版本库对比,查看是否同步
    behind 1说明工作去比本地git版本库落后一个版本
    ahead 2 说明工作去比本地git版本库多两个版本

    git branch -av.png

  • 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 logcommit_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  #设置提交者名字
    $ git config -global user.email  #设置提交者邮箱
    $ git config -global core.editor  #设置默认文本编辑器
    $ git config -global merge.tool  #设置解决合并冲突时差异分析工具
    $ git config -list #检查已有的配置信息
创建新版本库
    $ git clone  #克隆远程版本库
    $ git init #初始化本地版本库
修改和提交
    $ git add . #添加所有改动过的文件
    $ git add  #添加指定的文件
    $ git mv   #文件重命名
    $ git rm  #删除文件
    $ git rm -cached  #停止跟踪文件但不删除
    $ git commit -m  #提交指定文件
    $ git commit -m “commit message” #提交所有更新过的文件
    $ git commit -amend #修改最后一次提交
    $ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)
查看提交历史
    $ git log #查看提交历史
    $ git log -p  #查看指定文件的提交历史
    $ git blame  #以列表方式查看指定文件的提交历史
    $ gitk #查看当前分支历史纪录
    $ gitk  #查看某分支历史纪录
    $ gitk --all #查看所有分支历史纪录
    $ git branch -v #每个分支最后的提交
    $ git status #查看当前状态
    $ git diff #查看变更内容
撤消操作
    $ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容
    $ git checkout HEAD   #撤消指定的未提交文件的修改内容
    $ git checkout HEAD. #撤消所有文件
    $ git revert  #撤消指定的提交
分支与标签
    $ git branch #显示所有本地分支
    $ git checkout  #切换到指定分支或标签
    $ git branch  #创建新分支
    $ git branch -d  #删除本地分支
    $ git tag #列出所有本地标签
    $ git tag  #基于最新提交创建标签
    $ git tag -d  #删除标签
合并与衍合
    $ git merge  #合并指定分支到当前分支
    $ git rebase  #衍合指定分支到当前分支
远程操作
    $ git remote -v #查看远程版本库信息
    $ git remote show  #查看指定远程版本库信息
    $ git remote add   #添加远程版本库
    $ git fetch  #从远程库获取代码
    $ git pull   #下载代码及快速合并
    $ git push   #上传代码及快速合并
    $ git push  : / #删除远程分支或标签
    $ 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'.

你可能感兴趣的:(git 使用总结)