git详细操作
来源:互联网 发布:linux alias 配置文件 编辑:程序博客网 时间:2024/05/29 06:47
init
在本地创建仓库
# 在当前目录新建一个Git代码库git init# 新建一个目录,将其初始化为Git代码库git init [project-name]
clone
从远程仓库下载,生成本地仓库
# 下载一个项目和它的整个代码历史git clone [url]#本地备份git clone d1 d2
add
添加内容到缓冲区
# 添加当前文件夹# 如果在根目录代表所有内容git add . # 添加文件或者目录,多个用空格隔开git add <file> <file>
commit
提交到本地仓库
#work dir to repositorygit commit -a# see diff infogit commit <file> -v
rm
删除文件
git rm <file>git rm <file> --cached only remove from indexgit rm <file> -force removal
mv
移动或者重命名文件
git mv file-origin file-renamed
checkout
# 从index恢复到workspacegit checkout <file># 从local repository恢复到index和workspacegit checkout HEAD <file>
reset
# 恢复暂存区的文件git reset head <file># 重置提交 HEAD~表示上次的提交HEADgit reset HEAD~# 重置模式git reset [mode]mode: - --soft - --mixed - --hard 重置暂存区和工作区 - --merge - --keep
branch
分支
# 列出所有本地分支git branch# 列出所有远程分支git branch -r# 列出所有本地分支和远程分支git branch -a# 新建一个分支,但依然停留在当前分支git branch [branch-name]# 把本地分支发布到远程分支git push origin [branch-name]# 新建一个分支,并切换到该分支git checkout -b [branch]# 新建一个分支,指向指定commitgit branch [branch] [commit]# 新建一个分支,与指定的远程分支建立追踪关系git branch --track [branch] [remote-branch]# 切换到指定分支,并更新工作区git checkout [branch-name]# 切换到上一个分支git checkout -# 建立追踪关系,在现有分支与指定的远程分支之间git branch --set-upstream [branch] [remote-branch]# 合并指定分支到当前分支git merge [branch]# 选择一个commit,合并进当前分支git cherry-pick [commit]# 删除本地分支git branch -D [branch-name]# 删除远程分支git push origin --delete [branch-name]git push origin :[branch-name]git branch -dr [remote/branch]# 在当前版本,创建远程分支(没有),更新(存在)git pull origin branch_name
diff
比较
# 比较workspace和indexgit diff# 比较workspace和local repositorygit diff HEAD# 比较index和local repositorygit diff --stagedgit diff --cached# 两次提交git diff <id1> <id2># 两个分支git diff <branch1> <branch2># 仅比较统计信息git diff --stat
log
提交记录
# 查看该文件提交记录git log <file># 详细git log -p <file># 近两次git log -2#查看某次提交开始的所有提交git log <commit-id> #查看某次提交的某个文件git log <commit-id> <file>
show
查看各种对象类型
# 查看提交的细节git show summit_id
remote
查看,添加,删除,修改远端仓库
# 查看远程仓库git remote# 查看详细远程仓库git remote -v# 添加远程仓库,并没有pushgit remote add origin git@github.com:liufang8/javascript.git# 移除远程仓库git remote rm [name]
pull
获取并合并其他的仓库
它是下面命令的缩写:git fetch git merge FETCH_HEAD
# 拉取远程仓库# <远程主机名> 是origingit pull <远程主机名> <远程分支名>:<本地分支名># 如果和当前分支合并,可以省略冒号和后面部分git pull origin master# 默认情况本地分支和同名的远程分支建立一种追踪关系,# 手动建立追踪关系git branch --set-upstream master origin/next# 如果当前分支和远程分支存在踪关系,省略远程分支git pull origin
push
将本地代码推送到远程仓库
git push origin master
stash
暂时隐藏工作区和暂存区的修改,保存本地的修改
切换分支的时候,不用提交本地的修改
# 隐藏本地工作区和暂存区的修改git stash# 查看隐藏的操作列表git stash list# 恢复上次隐藏的代码git stash pop
config
配置
git config --global core.autocrlf false
其他
文件夹状态:
- 绿色对号: 已提交
- 红色感叹号: 已经添加未提交
- 红色加号: 为已添加
- 没有符号:该文件或者文件夹被忽略
HEAD: 当前分支(current branch)或者在当前分支最后被提交的状态
0 0
- git详细操作
- 最详细的GIT操作大全
- 建一个本地git服务器(git详细操作)
- Git的简介与Git详细操作流程
- 推荐!手把手教你使用Git的详细操作
- Git:Git详细教程
- 详细操作
- git操作
- Git操作
- git操作
- git操作
- git 操作
- Git 操作
- git 操作
- GIT操作
- Git 操作
- git操作
- git 操作
- Bone Collector HDU
- Kalman滤波器从原理到实现
- 不得不知的容器生态圈发展趋势
- 1055: 【数组的距离】
- 【Unity】Unity中实现全局管理类的几种方式
- git详细操作
- 3A DC/DC 降压芯片电路,开关电源
- jdbcTemplate query 方法的回调
- 石油大OJ 1023 问题 L: Pong’s Birds【概率Dp】
- Java中Volatile关键字详解
- Error request for member in something not a structure or union(指针类型的转换)
- Android XML布局
- Linux网络协议栈 — skb
- app冷启动缓慢出现白屏之终极解决方案—IntentService高效异步处理