Git新手必备常用命令

1、获取工程到当前路径
git clone ssh://gerrit-server/<工程名>.git

2、进入工程目录
cd <工程名>

3、安装gerrit的changeID自动生成hook脚本
scp -p gerrit-server:hooks/commit-msg .git/hooks/
chmod u+x .git/hooks/commit-msg

4、查看当前分支
git branch

5、切换分支
git checkout -b develop origin/featureFeb  (featureFeb为分支名)

6、查看代码状态
git status

7、添加差异代码(按照上一步提示)
git add 文件相对路径

8、修改git到编译器设置为vim
git config --global core.editor vim

9、提交改动到本地
git commit

10、再文件到开头写入注释,开头结尾都留一个空格、保存推出

10.1、commit后发现代码分支提交错了,需要先切回正确分支

10.2、查操作log 找到要commit的<操作ID>
git reflog

10.3、撤回commit
git cherry-pick  <操作ID>

10.4 查当前状态 重新commit

11、从远程拉最新到代码到本地  往服务器提交之前必须执行
git pull --rebase

12、本地解决冲突并运行代码,保证没有功能错误

13、提交改动到远程
git push origin featureFeb:refs/for/featureFeb  (featureFeb为分支名)

14、查整个团队到git日志
git log

15、到girret系统看自己代码指派同事reviewhttp://git.d.xiaonei.com/review/#/q/status:open,n,z

到此一个提交流程就结束了
有时可能会用到其他操作
A、本地代码某一部分改乱了 想重新获取
git checkout ./<需要更的路径>

---------------一些情况的处理----------------------------------

获取远程最新代码不和本地merge,一般在本地删除 并执行git rm之后 使用如下命令找回误删文件

git fetch:相当于是从远程获取最新版本到本地,不会自动merge

一般如有文件有冲突是不允许从远程获取代码的(git pull --rebase)

这时候需要吧没处理的文件放到暂存堆栈中 git stash

然后查看暂存堆栈 git stash list

从赞存堆栈顶回复之前到工作文件 git stash pop

解决冲突代码就可以继续操作了

---------------------------------------------------

已经成功提交成功代码 并且review 被merged,之后又有修改想做为一个新的提交,提交前没有pull --rebase ,导致,本地当前版本和服务器上的当前版本 不是一个版本

指针差异会导致pull失败。然后误操作 又cherry-pick回来了 。这样之前提交成功已经merged的操作页被拽回来了。

这种情况,用git reset HEAD^ --hard  重新定义指针 ,然后提交之前再pull rebase一遍就OK了

------------------------------------------------------

遇到提交后的代码因为某种原因要在发布的版本中撤销之前开发的功能

1、git log  查之之前提交代码的comm ID

2、git revert commit-id 撤销提交 会生成一个反向的差异文件

3、如果之前有多次提交要撤销,记得按倒着的顺序revert,从最近的一次开始

4、最后解决冲突需要重新提交代码 ,因为之前revert多次,会有多个commit,可以用git把他们合并成一个commit 提交一次就可以了

git rebase -i HEAD~X   (X是想把之前的多少步操作合并到一起,一个整数。之前看查log确认)

按照提示修改操作标识 按部就班就可以了

5、如果提交报错提示没有change-id,那么可以找回change-id

git commit --amend (这一个修改提交的命令,会调用生成change-id的脚本,之前执行revert 的操作没有调用此脚本所以没有change-id)

-------------------------------------------------------

如果要放弃本地修改后更新:
git reset --hard
git pull --rebase

-------------------------------------------------------

冲突解决

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。

碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

时间: 2024-10-11 00:26:15

Git新手必备常用命令的相关文章

Git 基本原理与常用命令

平时使用过两种版本控制软件 SVN 和 Git,平心而论,如果纯粹自己使用,那么绝对 Git 更加适合,本地库.远程库.离线工作.强大而灵活的分支.大名鼎鼎的Github, 这些都是选择 Git 的原因.记得刚接触时Git,感觉 Git 如此强大,再加上其是由大名鼎鼎的 Linus 所编写,所以花了很多的时间看各种资料,不过后来那些不常用的命令与功能还是仅仅停留在知道与了解的层面.Git 只是一种工具,是为了满足某种需求而被编写出来的一种工具,对于工具做到善加利用即可.当然,要做到善加利用,一定

Git本地库常用命令集

Git本地库常用命令集 以下所有的git命令都是在测试目录/git/下进行的.mkdir /git git init : 初始化git本地库在git本地库目录下执行该命令将会初始化一个git的本地库目录,此时在该目录下将会生成一个.git文件夹,其中包含有git本地库的配置文件及项目文件 git init git config [user.name][user.email] : 设置签名设置签名主要是为了使git能够区分提交代码的人员,其中签名级别又分为: 项目级别/仓库级别 : git con

git的一些常用命令

Git和SVN是我们最常用的版本控制系(Version Control System, VCS),当然,除了这二者之外还有许多其他的VCS,例如早期的CVS等.顾名思义,版本控制系统主要就是控制.协调各个版本的文档内容的一致性,这些文档包括但不限于代码文件.图片文件等等.早期SVN占据了绝大部分市场,而后来随着Git的出现,越来越多的人选择将它作为版本控制工具,社区也越来越强大.相较于SVN,最核心的区别是Git是分布式的VCS,简而言之,每一个你pull下来的Git仓库都是主仓库的一个分布式版

Git之 基本常用命令

Git基本常用命令如下: mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git add XX       把xx文件添加到暂存区去. git commit –m “XX”  提交文件 –m 后面的是注释. git status        查看仓库状态 git diff  XX      查看XX文件修改了那些内容 git

git配置及常用命令

1.配置 1)在网上下载git软件.我的是Git-1.9.5-preview20150319.exe和TortoiseGit-1.8.14.0-64bit.msi. 安装完后,从开始菜单点击git bash 2)输入 ssh-keygen -C "[email protected]" -t rsa 来生成一对密钥,默认保存到~/.ssh目录. 3)输入git config --global user.email [email protected] git config --global

Git 入门和常用命令详解

git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件(本地实际的文件目录) 缓存区(Stage / Index):临时保存文件改动 HEAD:指向最近一次提交的后果 下图说明了 Git 的工作流程 图片来源:http://www.runoob.com Git 常用命令 git init 创建新仓库.在当前目录中创建新的 Git 仓库,生成.git文件夹

Git与GitHub常用命令

说在前面的话,本文是跟着张哥的 GitHub 系列教程操作的,张哥微信公众号: googdev 雾艹-.. 一直在出差(借口)- 看了一下两个月没写博客了,真是太TM可怕了!!! 赶紧补一发,压压惊 git 注:在使用的任何的 git 命令前,都要切换到 git 项目目录下 git init 初始化一个 git 仓库 git status 查看当前 git 仓库的状态 git add file 修改 file 文件的状态为添加,并没有提交,只是存在缓存区 git rm –cached file

Git配置和常用命令

Git配置 git config --global user.name "hunng" git config --global user.email "[email protected]" git config --global color.ui true git config --global alias.co checkout git config --global alias.ci commit git config --global alias.st sta

Git学习 --&gt; 个人常用命令add,commit以及push

Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git config --global user.name mchdbagh  git config --global user.email <油箱> 我的命令就是:git config --global mc[email protected]4 验证有没有连接上remote远程服务器ssh -T [email p