以下是我在实际工作中用git的一些基本操作整理和碰到的一些问题
前提是我们在github上存在一个项目叫ctalk,把自己的ssh公钥让这个项目的管理员加到该项目的ssh列表里,接下来就开始我们的操作了:
1 克隆项目
git clone git://github.com/jias/ctalk.git
那么这个项目就到我们本地了
2 提交项目
git commit -a -m "我重构了xx类"
这个提交只是把更改提交到我们本地的git管理库中,跟远程的服务器没一点关系,github根本不知到这一操作,这也体现了git的 特点,大家都是服务器,没有客户端和服务器的概念,这儿我们不要认为放在本地上的ctalk只是一个小客户端,我们也是服务器。
-a 表示all,-m 表示message,这样避免一个一个的去add
3 推送项目
git push
我们本地的git虽然也是服务器,但大的项目都是多个人来开发的,最后大家需要把自己的本地的服务器代码push到某一指定的 服务器上进行合并,这个指定的服务器可以是项目组员中的任何人
4 更新项目
git pull
这个命令是从其他服务骑上下在代码到本地进行合并,这个pull和上面的push都是远程的,在commit之后最好pull下再push
以上是4个基本的流程、下面是一些帮助命令
1 git remote -v 查看远程服务器的地址信息 如
origin git@github.com:jias/ctalk.git (fetch)
origin git@github.com:jias/ctalk.git (push)
2 git branch 查看有哪些分支,带*表示当前所在分支
*master
letdb
3 git branch -d letdb 删除letdb分支
4 git checkout letdb 从现在的分支切换到letdb分支
5 git merge letdb,把letdb分支合并到当前分支,比如当前是master,那么letdb里的代码就和过来了,当然这个操作往往伴随着 大量的冲突需要去排除
以上的命令多多少少会有些执行不了,如果你确定一定要这么做,不妨加上一个 -f 参数 强制去做
FQA:
当我在push代码时,提示我github挂掉了等错误信息:原因是我们克隆的时候用的是 git clone git://github.com/jias/ctalk.git,这个地址在github上以下就看明白了,前面写明了这是个git rad-only 他不走ssh协议,只能pull不能push,如果你要push,当初克隆的时候就要用这种格式的地址 git@github.com:jias/ctalk.git,他前面会自动加上ssh协议。当然你也可以不用重新clone,只需要重新指定下remote的地址 如下
git remote rm origin
git remote add origin git@github.com:jias/ctalk.git
然后看下git remote -v看下地址格式已经正确了
也可以如下方式
git remote set-url --push origin
git@github.com:jias/ctalk.git
分享到:
相关推荐
以下是对Git常用命令的详细整理,包括配置、基本操作、分支管理、合并、标签、回滚以及日志和远程操作。 1. **配置操作** - `git config --global user.name "Your Name"`:进行全局配置,设置Git的用户名。 - `...
### Git文档基本整理:Git Tools基本使用指令 #### 标题与描述概述 本文档旨在对`Git`的基本使用指令进行归纳与总结,为初学者提供一个清晰的学习路径,并为已有一定基础的用户提供一个快速查阅的参考指南。通过本...
### Git命令整理详解 #### 一、概述 Git是一款开源的分布式版本控制系统,广泛应用于软件开发过程中,旨在帮助开发者高效地管理源代码及其版本。它通过记录每一次对文件的改动,使得开发者能够轻松地追踪历史版本...
此外,最佳实践还包括为每个重要功能或修复创建单独的分支,并且在开发分支或特性分支上进行频繁的提交(commit),以及在合并前使用rebase命令来整理提交历史,以保持代码的整洁。而分支合并(merge)应当在充分的...
这份“Git思维导图整理”包含了关于Git的各种学习资源和功能详解,通过图形化的方式帮助用户理解和掌握Git的核心概念与操作。 1. **Git基本概念** - **仓库(Repository)**:存储所有版本信息的地方,每个Git仓库...
### Git 最全笔记整理——Git 入门必备 #### 一、Git 是什么? Git 是一种分布式版本控制系统,主要用于跟踪计算机文件的更改,并协调多个用户之间的协作。它最初由 Linus Torvalds 在 2005 年为了更好地管理 ...
而`git rebase`则用于整理提交历史,使分支合并更加平滑。 远程仓库是Git协同工作的关键,如GitHub、GitLab和Bitbucket等平台提供了在线托管服务。通过`git clone`可以复制远程仓库到本地,`git push`和`git pull`...
此外,Git还提供了丰富的交互式工具,如`git rebase`和`git stash`,用于整理历史提交和临时保存工作区状态。学习并熟练掌握这些命令,能够帮助你更高效地管理Java项目。 总之,Git是Java项目管理中不可或缺的工具...
Git还有其他高级特性,如标签(Tag)用于标记特定版本,rebase 用于整理提交历史,cherry-pick 用于从一个分支选择特定提交并应用到另一个分支,以及reset 用于撤销提交或回滚到某个历史状态。 总的来说,Git的学习...
在学习Git的过程中,推荐读者将理论与实践相结合,多做实践操作。可以通过创建一些个人小项目来练习Git的使用,或者参与开源项目,实际体验Git带来的协作便利。此外,还有很多优秀的在线资源和社区可以提供帮助,...
9. **性能优化**:对于大型项目,理解如何使用`git gc`进行垃圾回收,`git repack`整理存储,以及`core.packSizeLimit`等配置优化性能,对团队协作至关重要。 10. **交互式重置**:`git rebase -i`提供了交互式修改...
Git是一个分布式版本控制系统,由Linus Torvalds于2005年创建,其目的是为了更好地管理...通过阅读Git Community Book中文版,初学者可以在理论学习的基础上,更快地提升到实践操作,从而成为一名高效的Git使用者。
此外,`git blame`可以追踪代码的作者,而`git rebase`则有助于整理提交历史,使其更加简洁。 总的来说,Git和Linux内核源代码是IT领域的两个重要学习资源。通过深入学习,开发者不仅能提升自身的技术水平,还能更...
此外,Git还提供了强大的交互式工具,如`git rebase`用于整理提交历史,`git stash`用于临时保存未提交的更改,以及图形化界面工具如SourceTree或GitHub Desktop,使得非命令行用户也能方便地使用Git。 为了确保...
- 推荐的学习网站包括 `https://www.rstk.cn/news/17195.html?action=onClick` 和 `https://www.liaoxuefeng.com/wiki/896043488029600`,这些网站提供了详细的教程和实践指导。 3. **基本操作**: - **初始化...
2. **代码审查**:提交前可以使用`git rebase`整理提交历史,使代码审查更清晰。 3. **合并请求**:通过`git merge`或`git pull request`将分支合并到主分支。 4. **版本发布**:在主分支上打标签,标记版本号,然后...
本书作者Scott Chacon是Git的早期贡献者,对于Git有着深入的理解和丰富的实践经验。 在书中,“关于版本控制”部分,介绍了版本控制系统的作用,以及在软件开发中不可或缺的地位。接着,通过“Git简史”,读者可以...
此外,`git rebase`和`git cherry-pick`等高级命令可以帮助你整理历史提交,解决冲突。 总之,Git是开发团队不可或缺的工具,其强大的版本控制和协作能力能够提升项目效率,降低出错风险。通过深入学习和实践,你将...
Git是世界上最流行的分布式版本控制系统,它允许开发者跟踪和管理代码变更,协同开发项目。这篇教程将深入探讨Git的基础知识、核心概念以及高级用法,帮助你...记住,实践是掌握Git的关键,多做练习,你会越来越熟练。