git的基本操作,常用命令
今天把文档写一波,第一部分:Git的基本操作1)初始化操作$ git config -global user.name#设置提交者名字$ git config -global user.email#设置提交者邮箱$ git config -global core.editor#设置默认文本编辑器$ git config -global merge.tool#设置解决合并冲突时差异分析工具$ git
今天把文档写一波,
第一部分:Git的基本操作
1)初始化操作
$ 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 clone -b first https://git.oschina.net/oschina/android-app.git
$ git init #初始化本地版本库
2) 远程仓库地址命令
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push[name][newUrl]
添加远程仓库:$ git remote add [name] [url]
例:git remote add origin url地址
3)本地仓库提交
$ git add . #添加所有改动过的文件
git commit -m ‘提交记录’ 多次提交会导致远程出现多个提交历史
$ git add #添加指定的文件
$ git mv #文件重命名
$ git rm #删除文件
$ git rm -cached #停止跟踪文件但不删除
$ git commit -m #提交指定文件
$ git commit -m “commit message” #提交所有更新过的文件
$ git commit -amend #修改最后一次提交
git reset --soft HEAD^ 这样就成功的撤销了你的commit,仅仅是撤回commit操作,您写的代码仍然保留
$ git commit -C HEAD -a -amend #增补提交(不会产生新的提交历史纪录)
4)推,拉至远程仓库操作
$ git remote -v #查看远程仓库地址信息
$ git remote show #查看指定远程版本库信息
$ git remote add #添加远程版本库
$ git fetch #从远程库获取代码
$ git pull #下载代码及快速合并
$ git push #上传代码及快速合并
$ git push : / #删除远程分支或标签
$ git push -tags #上传所有标签
强制推送到远程仓库:
git push --set-upstream origin dev_xxx(分支名称);
使用“git reset --hard 目标版本号”命令将版本回退
如果一直处于合并状态,可以执行这个,将项目置会刚合并完的状态
git reset --hard head
5)查看提交历史
$ git log #查看提交历史
查看之前提交记录:git reflog;
$ git log -p #查看指定文件的提交历史
$ git blame #以列表方式查看指定文件的提交历史
$ gitk #查看当前分支历史纪录
$ gitk #查看某分支历史纪录
$ gitk --all #查看所有分支历史纪录
$ git branch -v #每个分支最后的提交
$ git status #查看当前状态
$ git diff #查看变更内容
6)撤消操作
$ git reset -hard HEAD #撤消工作目录中所有未提交文件的修改内容
$ git checkout HEAD #撤消指定的未提交文件的修改内容
$ git checkout HEAD. #撤消所有文件
$ git revert #撤消指定的提交
7)分支与标签
$ git push origin test:test // 提交本地test分支作为远程的test分支,如果远程无test,将会创建
$ git branch #显示所有本地分支
git branch -a 查看分支
git branch -r 查看远程分支
git checkout -b ‘新建分支名字’ 创建+切换分支
git branch -m dev_1 dev_2 修改本地分支名称
$ git checkout <branch/tagname> #切换到指定分支或标签
$ git branch #创建新分支
$ git tag #列出所有本地标签
$ git tag #基于最新提交创建标签
$ git tag -d #删除标签
合并某分支到当前分支:git merge
删除本地dev分支:
git branch -d dev(分支名称);
删除远程dev分支仓库:
git push origin --delete dev(分支名称);
$git remote update origin --prune #更新远程分支列表
合并与衍合
$ git merge #合并指定分支到当前分支
$ git rebase #衍合指定分支到当前分支
8)版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
9)放弃本地修改
可以使用 git checkout – filepathname
(比如: git checkout – readme.md ,不要忘记中间的 “–” ,不写就成了检出分支了!!)。
放弃所有的文件修改可以使用 git checkout . 命令。
10)配置git SSH key
查看是否有ssh,切换到.ssh目录:cd ~ /.ssh;
如果存在 ,会进入.ssh目录中 :使用ls命令,可以看到如下信息:
id_rsa id_rsa.pub known_hosts
如果不存在使用命令:ssh-keygen -t rsa -C “xxx@gmail.com”;
cat id_rsa.pub查看公钥内容,然后手动复制复制添加到GitHub/GitLab—>Settings—>SSH–>New SSH Key—>key中,title随意取,保存 ;
11)版本标签管理
查看所有标签:git tag;
添加标签:git tag v1.0.1(版本号);
推送到远程仓库:git push origin v1.0.1;
删除标签:git tag -d v1.0.1;
指定提交信息:git tag -a v1.0.1 -m “message description”;
12) 清除stash历史
git stash drop stash@{id} 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
或者 git stash clear 是清除所有stash。
git diff不加参数即默认比较工作区与暂存区
13) 修改最新commit信息
如果只修改最新一条提交信息的 log 内容,直接使用命令 git commit --amend
14) 撤销文件操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
第二部分:
(一)设置代理
(1)命令方式设置http代理:git config --global http.proxy xxxx
(2)命令方式设置https代理:git config --global https.proxy xxxx
(3)命令方式设置core代理:git config --global core.gitproxy xxxx
(4)配置文件方式设置代理:找到.gitconfig文件,添加如下内容:
[http]
proxy = xxx
[https]
proxy = xxx
[core]
gitproxy = xxx
(二)取消代理
(1)命令方式:git config --global --unset http.proxy
git config --global --unset https.proxy
git config --global --unset core.gitproxy
(2)文件方式:找到.gitconfig文件,直接将http段下的proxy区块删除,https段下的proxy区块删除,core段下的gitproxy区块删除,删除后效果如下所示:
[http]
[https]
[core]
<<<<<<< HEAD
本地代码
=======
拉下来的代码
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)