git 使用总结

2016-10-25  本文已影响43人  ZPengs

切换分支 :git clone -b LTS1 ssh://xx@gerrit.net:29418/HE-/

git checkout --  Swiot/Swiot.xcworkspace/xcuserdata/zhaopengsong.xcuserdatad/UserInterfaceState.xcuserstate

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'.
上一篇下一篇

猜你喜欢

热点阅读